实用机器学习

本文为学习李沐老师《实用机器学习》这门课程的笔记。

overview

  1. 任务分类

    监督学习,半监督学习,无监督学习,强化学习

  2. 任务组成部分

    模型:给定输入,有输出

    损失函数:模型预测值和真实值的差距如何定量计算

    目标函数:模型训练过程中的优化目标,如,使得模型预测的值与真实值的差距尽量小

    模型优化:调整参数,最小化损失

  3. 模型分类

    决策树;

    线性模型:根据输入的线性组合来做决定。

    核方法:用不同的核函数来衡量两个样本之间的相似度,来达到非线性的效果。

    神经网络;

决策树

优缺点

优点:

  1. 模型可解释。
  2. 可以处理数值型和类别型的特征,可分类可回归。
  3. 不太需要调参,可以广泛应用于工业界。

缺点:

  1. 不稳定,受数据的噪声影响大 - embedding

  2. 复杂树导致过拟合 - 剪枝

  3. 不好并行计算,性能吃亏

随机森林

随机生成多个决策树,决策树训练彼此独立,用投票法或加权平均做出最后决定。

如何随机训练单棵树?

  1. bagging:数据随机采样,有放回。
  2. randomly:随机选取一些特征。

梯度提升(Gradient Boosting Decision Trees )

序列化生成若干树。各个决策树中彼此不独立。

  1. t=1,Ft(x)t=1 … , F_t(x) 是前 t1t-1 棵树的函数输出的和。

  2. tt 时刻训练新的树 ftf_t,训练数据集为残差数据集:[(xi,yiFt(xi))]i=1...[(x_i,y_i-F_t(x_i))]_{i=1...},用来预测当前模型和真实数据之间的误差。

  3. 那么,新的模型为: Ft+1=Ft(x)+ft(x)F_{t+1}=F_t(x)+f_t(x)

残差等同于平均均方误差的负梯度 L/F- \partial L/\partial F

L 为 F 的预测值和真实值之间的均方误差。后续的决策树都在拟合均方误差的负梯度->梯度下降。