逻辑回归算法提示算法不收敛
来源:9-8 OvR与OvO
luluoverflow
2021-12-17
样本特征为5个,标签有6种,使用多项式逻辑回归,多项式次数degree设置为5,L2正则化,OvO多分类,运行的时候警告线性算法没有收敛,而且分类准确度很低(百分之45左右,kNN可以达到80),。是数据太复杂了维度太多了吗?degree设置为10后,直接超出10000的迭代次数限制了。
老师我想问一下,在网格搜索合适的degree、C的时候,搜索范围设置在多少比较合适?造成算法预测准确度这么低的原因会有哪些?
1回答
-
liuyubobobo
2021-12-18
数据量大概多大?
==========
如果你有 5 个特征,degree = 5,就意味着有 5^5 = 3125 个特征了。这个特征量就已经远远大于你现在的数据量了。而如果 degree = 10,就生成了 9765625 个特征,这个特征量太大了,妥妥的维度灾难。(3125 个特征已经肯定维数灾难了。)
要想获得较好的结果,在大多数情况下,至少数据量要大于特征量,最好的情况下,数据量应该是特征量的 10 倍乃至 100 倍以上。(对比你说获得比较好的效果,degree = 2,就是有 25 个特征,1400 的数据量是 25 的 56 倍左右。)
如果你想要使用多项式特征,就要增大数据量。增大到什么地步?请参考上面我计算出的特征数。
从这些数据,你也可以看出来,实际上在大多数时候,多项式特征都不是一个好的特征工程方式。即使使用,degree = 3 撑死了。(对于诸如图像数据这种高维数据,连 degree = 2 都没有用。)多项式特征是一个极好的介绍“过拟合”概念的方式(所以这个课程在介绍完多项式特征以后,马上介绍过拟合。)但它不是一个好的特征工程方式。
继续加油!:)
072021-12-18
相似问题