机器学习笔记week1——奥卡姆剃刀原则、L1与L2范数正则化、模型泛化性

本系列是学习伯禹《机器学习》的笔记,主要记录自己在学习过程中的盲点和细节继续加油叭fighting

1 奥卡姆剃刀原则

奥卡姆剃刀原则,即“简单有效原理”,“切勿浪费较多东西去做,用较少的东西,同样可以做好的事情。”

李航《统计学方法》一书中,在应用于模型选择时可以理解为:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。正则化就符合奥卡姆剃刀原理。

举个栗子。假如有一些连续点,可以用二次或更复杂的函数拟合,那么就用二次函数来拟合。

2 L1 与 L2 范数正则化

2.1 L1与L2范数正则化可以降低过拟合程度:

正则化之所以能够降低过拟合的原因在于,正则化是结构风险最小化的一种策略实现。

给loss function加上正则化项,能使得新得到的优化目标函数h = f+normal,需要在f和normal中做一个权衡(trade-off),如果还像原来只优化f的情况下,那可能得到一组解比较复杂,使得正则项normal比较大,那么h就不是最优的,因此可以看出加正则项能让解更加简单,符合奥卡姆剃刀理论,同时也比较符合在偏差和方差(方差表示模型的复杂度)分析中,通过降低模型复杂度,得到更小的泛化误差,降低过拟合程度。

2.2 L1正则化和L2正则化:

L1正则化就是在loss function后边所加正则项为L1范数,加上L1范数容易得到稀疏解(0比较多)。L2正则化就是loss function后边所加正则项为L2范数的平方,加上L2正则相比于L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度。

详细阅读参考链接:https://zhuanlan.zhihu.com/p/35356992

2.3 L1正则化不能求导吗?那怎么优化呀?

坐标轴下降法:沿着坐标轴的方向去下降,这和梯度下降不同。梯度下降是沿着梯度的负方向下降。不过梯度下降和坐标轴下降的共性就都是迭代法,通过启发式的方式一步步迭代求解函数的最小值。

2.4 为什么一般用L2比L1多?

L1是在选特征,在当前的这个深度学习时代,其实并不喜欢把特征直接剪掉。因为一个特征除非是完全没用,我们才把它删掉,如果他能够在某种情况下有任何一点用那我们会保留。因此一般工业是在不考虑一定要做特征选择的时候用L2,如果说特征确实蛮大以至于最后要削掉一部分特征使内存以及训练速度获得优化那才用L1。另外一种情况,一些互联网公司会同时使用L1和L2,一方面通过L1删掉一部分没有特别大用处的训练特征,另外一个方面就是用L2的性质,使整个模型离原点的距离能够得到保证。

3 模型泛化性

3.1 泛化能力

泛化能力指的是模型对未观测数据的预测能力

3.2 泛化误差
  • 可以通过泛化误差来评估,定义如下:

    R ( f ) = E [ L ( Y , f ( X ) ) ] = ∫ X × Y L ( y , f ( x ) ) p ( x , y ) d x d y R(f)=\mathbb{E}[\mathcal{L}(Y, f(X))]=\int_{X \times Y} \mathcal{L}(y, f(x)) p(x, y) d x d y R(f)=E[L(Y,f(X))]=X×YL(y,f(x))p(x,y)dxdy

  • p(x,y) 是潜在的(可能是未知的)联合数据分布

在训练数据集上对泛化能力的经验估计是:

R ^ ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \widehat{R}(f)=\frac{1}{N} \sum_{i=1}^{N} \mathcal{L}\left(y_{i}, f\left(x_{i}\right)\right) R (f)=N1i=1NL(yi,f(xi))

3.3 泛化误差上界

对于泛化能力的分析通常是根据泛化误差上界来确定的,因为它代表的是泛化能力的下界,也就是所谓的保底值,如果保底值能够提升,那么模型的整体泛化能力就能够得到提升。

泛化误差上界的定义如下:对于二类分类问题

在这里插入图片描述

不等式中左侧的 R(f) 是泛化误差,右侧的即是泛化误差上界,其中的 Rˆ(f) 是训练过程中的误差,而 ε(d,N,δ) 相当于一个纠正量,是 N 的单调递减函数,当 N 趋近无穷时趋向 0,同时它也是 logd 阶的函数,假设空间包含的函数越多时,d的值越大,即它的值也越大。
值得注意的是,该不等式是根据霍夫丁不等式推导而来。

具体推导参考链接:https://blog.csdn.net/qq_43872529/article/details/104362791

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值