机器学习介绍

算法的类型

  • Supervised: 对已经标记的数据进行训练以预测标签。

    • Self-supervised: 标签是从数据生成的 (例如: word2vec、BERT)
  • Semi-supervised: 对标记和未标记数据进行训练,学习模型以预测标签或推断未标记数据的标签。

  • Unsupervised: 对未标记数据进行训练。例如: 聚类、密度估计 (GAN)

  • Reinforcement: 利用与环境互动的观察结果采取行动,最大限度地提高奖励 (类似人类的学习过程,较难)

监督学习

  • 模型:从输入预测输出。如: 挂牌房屋-售价
  • 损失函数:测量预测与真实标签之间的差异。例如 (预测价格-销售价格)^2
  • 目标:训练过程中需要优化的任何函数。例如:最小化损失
  • 优化:学习模型参数

监督模型的类型

决策树、线性方法、核方法、神经网络

决策树

image
image
image
image

决策树

好处

  • 可解释性
  • 可以处理数字和类别特征

坏处

  • 非常不稳定,容易被噪声影响 (集成学习帮助)
  • 复杂的树导致过拟合 (修剪树)
  • 在计算中不容易被并行化

随机森林

为了改善不稳定的缺点。一棵树不行就训练多棵树。

  • 训练多个决策树以提高鲁棒性。
    • 每棵树都是独立训练的
    • 分类 → 投票,回归 → 平均
  • 为什么是随机呢?
    • 有放回的随机采样,可能会有重复。例如:[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$ 可以从训练的数据中得到
  • 代码表示image-20220216152031709

目标函数

  • 最小化均方误差(MSE)

    image-20220216153331347

使用线性回归进行分类

  • 回归: 连续输出 (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}$

    只关注该样本真实类别上预测的概率是多少

最后修改:2022 年 03 月 26 日
如果觉得我的文章对你有用,请随意赞赏