目录
四、机器学习算法的组成部分
1、机器学习的一般步骤
-
特征工程
通常情况下,我们得到需求后,首先要做的就是特征工程。它是数据预处理的重要组成部分。
然而在深度学习中,特征工程不是那么的重要。这是因为深度学习,可以学习到特征(对视觉/语音等非结构化数据尤其重要)。
当然,深度学习也不是万能的。首先,对于结构化数据,如金融。在有条件约束的情况下,可能不使用深度学习的效果会更好。其次,深度学习目前还没有理论根据。效果虽然还可以,但往往会出现一些无法解释的情况。
-
确定模型
一般情况下,我们先用一个简单的模型去做。看看效果。
-
模型训练
-
模型评估/超参数调优
-
模型应用/预测
2、奥特姆剃刀原则
- 如无必要,勿增实体
-
我们增加模型的复杂度,那么就一定要带来足够的好处,否则,使用简单的模型即可。
3、目标函数=损失函数+正则项
(1)损失函数
- 如果使用残差(预测值与真实值之差),那么就会有负号(减法)出现。所以,通常情况下,我们使用的是 残差平方和(RSS:residual sum of squares)。
- L2损失可求导,但是容易受到噪声点的影响(???)。建议,做特征工程时,处理掉噪声点。
- L1损失不可求导,优化求解不是很方便。可以考虑使用Huber损失。
- Huber损失:L1和L2损失的综合处理。
(2)正则项
- Regular:有规律的。
- 作用:
控制模型的复杂度、对模型施加惩罚函数、施加约束条件。
使得模型震荡幅度不是很大,在可控的范围内。
- 系数越大,模型越不稳定。模型不稳定时 ,当数据仅仅发生一点变化时,值也会发生很大的改变。
4、损失函数分类
-
0-1损失:
预测对了,预测值与真实值之差为0。预测错了,预测值与真实值之差为1。
但是,在f(x)=0时,不连续,不可求导。
-
logistic损失
0-1损失的近似。比较常用的损失函数。称为负log似然损失。
当预测对了,L值很小。当预测错了,L值很大。
-
指数损失(???)
-
合页损失(???)
5、过拟合与欠拟合
(1)过拟合
当模型复杂度增加时,训练误差下降,趋近于0。但是测试误差直线上升。
解决方案:添加惩罚函数
(2)欠拟合
模型过于简单、惩罚力度过大。
当样本量很大时,模型过于简单,就会造成欠拟合的线性。
所以说,模型的复杂程度,很大程度上取决于样本的个数。
6、正则函数
(1)L0正则:
略
(2)L1正则:
当λ取合适值时,会得到稀疏解。即,有很多元素为0,表示当前这一项可有可无。
优点:便于压缩存储、提升预测效率。
(3)L2正则:
二次曲线,方便求导。
(4)其他
7、主要的模型
SVM:现在还有L1正则的SVM。