机器学习介绍
算法的类型
-
Supervised: 对已经标记的数据进行训练以预测标签。
- Self-supervised: 标签是从数据生成的 (例如: word2vec、BERT)
-
Semi-supervised: 对标记和未标记数据进行训练,学习模型以预测标签或推断未标记数据的标签。
-
Unsupervised: 对未标记数据进行训练。例如: 聚类、密度估计 (GAN)
-
Reinforcement: 利用与环境互动的观察结果采取行动,最大限度地提高奖励 (类似人类的学习过程,较难)
监督学习
- 模型:从输入预测输出。如: 挂牌房屋-售价
- 损失函数:测量预测与真实标签之间的差异。例如 (预测价格-销售价格)^2
- 目标:训练过程中需要优化的任何函数。例如:最小化损失
- 优化:学习模型参数
监督模型的类型
决策树、线性方法、核方法、神经网络
决策树
决策树
好处
- 可解释性
- 可以处理数字和类别特征
坏处
- 非常不稳定,容易被噪声影响 (集成学习帮助)
- 复杂的树导致过拟合 (修剪树)
- 在计算中不容易被并行化
随机森林
为了改善不稳定的缺点。一棵树不行就训练多棵树。
- 训练多个决策树以提高鲁棒性。
- 每棵树都是独立训练的
- 分类 → 投票,回归 → 平均
- 为什么是随机呢?
- 有放回的随机采样,可能会有重复。例如:
[1,2,3,4,5]→[1,2,2,3,4]
- 随机选择特征子集
- 有放回的随机采样,可能会有重复。例如:
梯度Boosting决策树
- 顺序训练多棵树
- $t$ 表示时间, $F_t(x)$ 表示过去训练所有树输出的和
- 在没有做好预测的那部分(残差)里训练一个新树 $f_t$ ,如果$[x_i,y_i-F_t(x_i)]_i...$ 在减小,证明新树靠谱。
- $F _ { t + 1 } ( x ) = F _ { t } ( x ) + f _ { t } ( x ) $
- 使残差去拟合负梯度 $[x_i,y_i-F_t(x_i)]_i = - \partial L / \partial F $
总结
- 决策树: 分类/回归的可解释模型
- 减少偏差和方差的树
- 随机森林: 随机性并行训练
- 梯度提升树: 在残差上顺序训练
- 决策树在工业中被广泛使用
- 简单,易于调整,通常会给出满意的结果
线性模型
线性模型
-
一个简单的房价预测模型
- 假设 $x_1,x_2,x_3$是三个可以影响房价的因素(特征)
- 那么,预测的价格为:$y=w_1x_1+w_2x_2+w_3x_3+b$
- 权重 $w_1,w_2,w_3$ 和偏移量 $b$ 可以从训练的数据中得到
-
代码表示
目标函数
-
最小化均方误差(MSE)
使用线性回归进行分类
-
回归: 连续输出 (R)
-
分类:
- 为每一个类学习一个模型
- 为标签应用
one-hot
编码,$y=[y_1,y_2,...,y_m]$ 如果$i=y$ 那么,$y_i=1$ - 最小化 MSE 损失
- 预测标签 $argmax_i{o_i}^m$
Softmax Regression
-
Softmax: 输出的分数转概率 $\hat{y}_{i}=\frac{\exp \left(o_{i}\right)}{\sum_{k=1}^{m} \exp \left(o_{k}\right)}$
-
交叉熵损失函数:$H(\mathbf{y}, \hat{\mathbf{y}})=\sum_{i}-y_{i} \log \left(\hat{y}_{i}\right)=-\log \hat{y}_{y}$
最小化 $-\log \hat{y}_{y}$ ,最大化 $\log \hat{y}_{y}$
只关注该样本真实类别上预测的概率是多少
版权属于:KevinBean
本文链接:https://www.kevinbean.top/index.php/default/1377.html
转载时须注明出处及本声明