实用机器学习——第四、五章

4 ML模型回顾

4.1 机器学习介绍

  • 算法类型
    • 监督学习
      • 在打标签后的数据上训练,去预测标签
      • 自监督学习(标号来自于数据本身)E.g. word2vec BERT
    • 半监督学习
      • 同时在标注和未标注上的数据上训练,通过已标注的数据去预测未标注数据 E.g. 自训练
    • 无监督学习
      • 在无标签数据训练 E.g. 分簇、分布估计(GAN)
    • 强化学习
      • 和环境交互,采取行动去获取奖励
  • 监督学习训练
    • 模型
      • 通过输入获取输出
    • 损失函数
      • 衡量预测值和真实值的不同
    • 目标
      • 例如:最小化损失函数
    • 优化
      • 改变可学习参数,使之满足目标函数
  • 监督学习模型
    • 决策树
    • 线性模型
    • 核方法
    • 神经网络

4.2 决策树/随机森林

  • 决策树
    • 优点:
      • 可解释
      • 能够处理数字和类别型特征
    • 缺点:
      • 不具有健壮性(使用集成学习可以缓和)
      • 复杂的树容易过拟合(剪枝)
      • 在计算中不容易并行
  • 随机森林
    • 训练多个决策树,提升稳定性
      • 每个数,独立训练
      • 多数投票用来分类,取平均用来回归
    • 随机的产生
      • Bagging:有放回的采样,组成训练集
      • 随机挑选一些特征子集
  • 梯度提升树
    • 训练多课树,连续的完成
    • F t ( x ) F_t(x) Ft​(x)表示前面 t − 1 t-1 t−1棵树
      • 在残差上训练新的树: ( x i , y i − F t ( x i ) ) i = 1 , . . {(x_i,y_i-F_t(x_i))}_{i=1,..} (xi​,yi​−Ft​(xi​))i=1,..​
      • F t + 1 = F t ( x ) + f t ( x ) F_{t+1} = F_t(x) + f_t(x) Ft+1​=Ft​(x)+ft​(x)
    • − ∂ L / ∂ F -\partial L / \partial F −∂L/∂F ,如果使用均方误差,这就叫做梯度提升
  • 小结
    • 可解释性 分类/回归模型
    • 集成学习去降低偏移和偏差
      • 随机森林:带有随机性地并行训练
      • 梯度提升树:在残差上训练一个序列的树
    • 树模型被广泛用到工业界
      • 简单、易调参、通常给出一个满意的结果

4.3 线性模型

  • 线性回归

    y h a t = < w , x > + b y^{hat} = <w,x>+b yhat=<w,x>+b

  • 目标函数

    w ∗ , b ∗ = a r g m i n w , b l ( X , y , w , b ) = a r g m i n w , b 1 n ∣ ∣ y i − < X i , w > − b ∣ ∣ 2 \begin{aligned} w^*,b^* &= argmin_{w,b} l(X,y,w,b) \\ &= argmin_{w,b}\frac{1}{n}||y_i-<X_i,w>-b||^2 \\ \end{aligned} w∗,b∗​=argminw,b​l(X,y,w,b)=argminw,b​n1​∣∣yi​−<Xi​,w>−b∣∣2​

  • 线性模型分类

    • 多类输出:输出向量, i i i-th输出表示类别 i i i的置信度
    • o i = < x , w i > + b i o_i = <x,w_i> + b_i oi​=<x,wi​>+bi​
    • 真实标签采用独热编码
    • m i n 1 m ∣ ∣ o − y ∣ ∣ 2 min \frac{1}{m}||o-y||^2 minm1​∣∣o−y∣∣2
    • a r g m a x i o i i = 1 m argmax_i{o_i}_{i=1}^m argmaxi​oi​i=1m​
    • 存在问题:导致模型不仅要关注需要预测的标签让它最大,还需要让其他标签最小
  • Softmax回归

    • 将预测的分数变成概率 y h a t = s o f t m a x ( o ) y^{hat}=softmax(o) yhat=softmax(o)
    • 交叉熵损失函数: H ( y , y ^ ) = ∑ i − y i l o g ( y ^ i ) = − l o g y ^ y H(y,\hat y) = \sum_i - y_ilog(\hat y_i) = -log\hat y_y H(y,y^​)=∑i​−yi​log(y^​i​)=−logy^​y​

4.4 随机梯度下降

  • 小结:
    • Mini-batch SGD

4.5 多层感知机

  • 线性层+激活函数叠加在一起

4.6 卷积神经网络

  • 识别图片中的目标:
    • 平移不变性:无论目标在哪儿,输出的结果是一样的(卷积+池化提供了平移不变性,目标移动了,那么只有当卷积核移动到目标所在位置,卷积核才会有相应的输出)
    • 局部性:一个像素和周围较近的像素关系较大

4.7 循环神经网络

  • 小结:

    实用机器学习——第四、五章

5 模型验证

5.1 模型评估

  • 模型指标

    • 在监督学习中,通过最小化训练损失来训练模型
    • 其他指标:
      • 模型特定的指标,例如:目标检测中的mAP
      • 商业特定的指标,例如:营收,推理时间
    • 多指标来选择模型
  • 案例分析:展示广告

    • 搜索/页面 ——> 取出相关广告 ——> 估计click through rate(CTR) ——> 通过CTR和价格展示广告
  • 分类的指标

    y=1(真实标签) y=0
    y_hat = 1(预测标签) 11(TP) 01(FP)
    y_hat = 0 10(FN) 00(TN)

    准确度:sum(y == h_hat) / y.size

    精确度:sum((y_hat == 1) & (y == 1) / sum(y_hat == 1))

    召回率:sum((y_hat == 1) & (y == 1) / sum(y == 1))

    F1 : 2pr/(p+r)

  • AUC & ROC

    实用机器学习——第四、五章

    实用机器学习——第四、五章

  • 展示广告的商业指标

    • 优化营收和用户体验
      • 延迟低 <300ms
      • ASN:平均每页展示多少广告
      • CTR:真实用户点击率,展现广告的阈值
      • ACP:每次点击的价格
        营 收 = p a g e v i e w s × A S N × C T P × A C P 营收 = pageviews × ASN × CTP × ACP 营收=pageviews×ASN×CTP×ACP

5.2 过拟合和欠拟合

  • 训练误差和泛化误差

    泛化误差\训练误差 Low High
    Low Good Bug?
    High 过拟合 欠拟合
  • 数据复杂度和模型复杂度匹配

  • 模型复杂度

    • 去拟合多种函数的能力
    • 很难去比较不同的模型
    • 在一个模型家族中,参数越多、可学习参数取值范围越大往往模型越复杂

5.3 模型验证

  • 衡量模型泛化误差

    • 在测试数据集(只使用一次)上的误差
    • 验证数据集(能被使用多次)
  • 在非I.I.D.数据上划分(I.I.D. : 随机同分布)

    • 时序信息,例如:房价、股票价格
    • 非平衡数据
    • 具有组信息的数据,按照组进行划分
  • K-fold 交叉验证

  • 常见错误

    • 信息泄露
    • 验证集被训练集包含了
上一篇:二、参数估计


下一篇:因果推断-解决推荐系统公平性的新思路