在第(三)部分中,建立了梯度下降函数,可是不知道为什么这么建?有什么好处与不足?还有没有其他方法构建?
这个式子是在L式上求平均值,也就平均预测概率达到最大之后取了一个负,导致J取最小值。
在机器学习中叫损失函数的,衡量的是模型预测错误的程度。上面就是取整个数据集上的平均对数似然损失。
在逻辑回归模型中,最大化似然函数和最小化损失函数实际上是等价的。
牛顿法
求解逻辑回归的方法有非常多,还有牛顿法。牛顿法的基本思路是,在现有极小点估计值的附近对 f(x) 做二阶泰勒展开,进而找到极小点的下一个估计值。这个方法需要目标函数是二阶连续可微。
假设在处,为当前的极小值估计值:
令,得
如果初始值为,那么经过一次迭代改为。经过多次迭代达到最优。
正则化
第一次听到这个东西让人无法理解,英语:regularization,意思为:the act of changing a situation or system so that it follows laws or rules, or is based on reason。
就是改变一下前面做的最大化似然函数和最小化损失函数。目的就是让它更好地遵守规则。
机器学习,学习什么?就是找到其中的一些规律而已,更直白一点找到合适的参数。
前面的回归,能够找到一些规律,但是多次实验后发现,这些规律会出现一些问题:过拟合。
因为我们用的是误差或者损失最小化,当然误差为0是最好。计算机就不找规律了,直接记住数据就好了。
特别是样本较小时,当你用样本的数据来预测,准确率为100%,当用其它数据来预测,效果就非常差。
为了解决这一个问题。必须另加一项,用于奖惩。当做得好时,就给予奖励;当做得不好时,就给予惩罚。用什么作为奖惩项?学过统计学的同学就想,要不先给参数一个分布。极大似然时,能想到拉普拉斯分布、正态分布。
拉普拉斯分布:
是位置参数, b是尺度参数。
把这项乘到最大化似然函数去。
两边取对数:
再同除以m:
代入梯度下降更新:
为了好计算,我假设u=0。
正态分布:
代入
两边取对数,令u=0:
代入梯度下降更新:
理论完毕,实践待续。