Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
奥卡姆剃刀定律局限_逻辑回归损失函数推导,希望能够帮助你!!!。
机器学习算法模型在训练过程中要避免过拟合。过拟合就是算法模型在训练样本中表现(拟合)很好,但是测试样本中表现不好,过拟合的具体表现就是泛化性差,如何避免过拟合呢?
首先要认识到一般的机器学习算法和深度学习算法最终都是将问题转化为最优化问题,解最优化问题来得到参数,从而计算出拟合函数,包含神经网络算法。
我们知道解最优化问题一定存在一个目标函数,或者称为评价函数,损失函数 f-eval,机器学习算法训练过程就是解得参数使得损失函数最小。损失函数一般定义就是 真实值与预测值的误差的函数,
f-eval =f(y,y1),也是预测值,y1是真实值
对于最小二乘,f-eval 就是欧式距离公式。
为什过拟合会发生呢?原因有三:
1)数据存在噪声
2)模型表现出预测的值偏差小但是方差大
3) 数据完全符合你选择的算法模型
第3)条怎么理解呢,就是你的训练数据经过你选择的算法和训练完全能够拟合上,但是要记住你要应用的总体样本,而训练只是抽样样本。
那么如何解决避免拟合,有几种方式:
1)交叉验证(广泛适用)
2)提前停止准则(应用少)
3)剪枝(树方法)
4)正则化项,包括Dropout(深度学习)
重点研究下方法4)给损失函数加入正则化项,
f-eval =f(y,y1) +Ω(θ),其中θ表示模型中的参数,Ω(θ)就是正则项。正则项一般采用L1正则项和L2正则项,对应L1损失函数和L2损失函数。
L1正则项:对模型的参数权重w取L1范数
L2正则项:对模型的参数权重w取L2范数
正则项的思想就是为了简化模型,降低模型复杂度。这个思想就是奥卡姆剃刀准则,具体描述为:如无必要,勿增实体,通俗将就是 简单即有效,降低模型的复杂度,使得数据对模型的符合程度刚刚好,避免过拟合,可以提高模型泛化性。奥卡姆剃刀准则毕竟是一个准则,不是定理,科学是严谨的,那么这个准则为什么用于科学呢,维基百科有一句话是这样描述的‘ In the scientific method, Occam's razor is not considered an irrefutable principle of logic or a scientific result; the preference for simplicity in the scientific method is based on the falsifiability criterion. ’[5]
参考资料:
[1] https://www.zhihu.com/question/
[2]https://chemicalstatistician.wordpress.com/2014/03/19/machine-learning-lesson-of-the-day-overfitting-and-underfitting/
[3] https://elitedatascience.com/overfitting-in-machine-learning
[4]https://www.analyticsvidhya.com/blog/2015/02/avoid-over-fitting-regularization/
[5] https://en.wikipedia.org/wiki/Occam%27s_razor
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章