一、归一化
Ⅰ什么是归一化?
答:其实就是把数据归一到0-1之间,也就是缩放。
常用的归一化操作是最大最小值归一化,公式如下:
例如:1,3,5,7,9,10,其中max=10,min=1,把数据代入公式可得:
0(1-1 / 10-1),2/9(3-1 / 10-1),4/9(5-1 / 10-1),2/3(7-1 / 10-1),8/9(9-1 / 10-1),1(10-1 / 10-1),这样就把1-10这些数给归一化到0-1之间了。
Ⅱ为什么要做归一化?
答:只要是基于梯度来进行下降求解最优解,都需要归一化,目的是各个维度梯度可以同时收敛
Ⅲ不做归一化,产生的问题是什么?
答:如果X1<<X2,那么W1>>W2,那么我们W1初始化之后要到达最优解的位置走的距离就远大于W2初始化之后要到达最优解的位置走的距离!
因为X1<<X2,那么g1 = (y_hat-y)*x1 ,g2 = (y_hat-y) * x2,那么g1<<g2
因为g1<<g2,那么W调整的幅度等于W_t+1 - W_t = - alpha * g
所以g越小,调整的幅度就越小
总结一下上面的推导:
X1<<X2,W1调整的幅度<<W2调整的幅度,但是W1需要调整的距离>>W2需要调整的距离,矛盾就产生了,如果此时不做归一化去使用梯度下降求解最优解的话,产生的效果,即会是同样的迭代次数下,W2已经调整好了,W1还在慢慢的往前挪,整体看起来,就比先做归一化,再做梯度下降,需要的迭代次数要多了!!!
二、最大最小值归一化操作
Ⅰ怎么让多个维度对应的W基本上在同一时刻收敛?
答:对多个维度X来进行统一的归一化,比如说,最大值最小值归一化的方法
Ⅱ何为最大值最小值归一化呢?
答:(X-Xmin)/(Xmax-Xmin),最大值最小值归一化的特点是一定可以把一列数据归到0到1之间
Ⅲ什么是过拟合?
答:拟合过度,用算法生成的模型,很好的拟合了你以有的数据,训练集数据,但是当来新的数据的时候,比如测试集的数据,预测的准确率反而降低了很多,那这个时候就是发生了过拟合现象
Ⅳ如何防止过拟合呢?
答:防止过拟合,等价于提高模型的泛化能力,或者推广能力,或者说白了就是举一反三的能力!提高了模型的容错能力!
学霸:有监督的机器学习!
学神:有很强的学习能力,能自己找到学习的方法!无监督的机器学习!
学渣:你的算法压根就没选对,数据预处理也没对,学习方法不对!
学痴:做练习题都会,考试稍微一变化,就挂!过拟合了!没有泛化能力!
Ⅴ如何在机器学习里面防止过拟合呢?
答:模型参数W个数,越少越好,无招胜有招
模型参数W的值越小越好,这样如果X输入有误差,也不会太影响y预测结果
通过正则化 到loss function里面去
L1 = n个维度的w绝对值加和
L2 = n个维度的w平方和
让我们的SGD,在找最优解的过程中,考虑惩罚项的影响
Ⅵ当使用惩罚项,会产生什么影响?
答:使用惩罚项,会提高模型的泛化能力,但是因为人为的改变了损失函数,所以在一定程度上牺牲了正确率,即对训练集已有数据的拟合效果,但是没关系,因为我们的模型目的是对未来新的数据进行预测。
在惩罚项里面,会有个alpha,即惩罚项的权重,我们可以通过调整alpha超参数,根据需求来决定是更看重模型的正确率还是模型的泛化能力!