RealCat

· updated Jan 27, 2025 · 5 min read

机器学习修炼手册

笔者对机器学习这门课程的学习开始于二年级的《数据挖掘》,当时老师对数据挖掘中的常用的算法做了一些介绍,但这仅仅是个入门教学,我并没有深入了解其中的原理。到现在笔者深刻地意识到 ML 的重要性,于是抽空看了一些这方面的资料,整理了这一份文档。

机器学习算法包括监督学习(回归、分类)以及非监督学习(聚类)。

梯度下降

其中为学习率,一般为很小的数字(0.001-0.1),为我们需要求解的参数,为能量函数或者为损失函数,通过上述公式可知,梯度下降是沿着损失函数梯度的反方向迭代寻找最优值的过程。梯度下降容易陷入局部极小点,所以我们要采取一定的措施来阻止这种现象的发生。

过拟合(Overfitting)

如果训练样本的特征过多,我们学习的假设可能在训练集上表现得很好,但是在验证集上表现得就不尽人意。

避免过拟合

  • 减少特征的大小
  • 正则化
    • 在保证所有特征都保留的情况下,限制的大小,即 Small values for parameters
    • 当特征量很多时,该方式仍然表现得很好
  • 交叉验证(Cross Validation)

正则化

线性回归

对于线性回归而言,其损失函数形式如下:

引入正则化之后的损失函数的形式为:

GD 迭代求解参数

Repeat:

梯度下降法的学习率需要提前指定,并且还要制定收敛标准。

Normal Equation

上式是对线性回归正则化后的解析解。可以证明的是当时,求逆符号内部的式子总是可逆的。

逻辑回归

在没有加入正则化之前,逻辑回归的损失函数的形式是这样的:

加入正则项之后的形式为:

GD 迭代求解参数

同线性回归的 GD 迭代求解。

SVM 支持向量机

支持向量机又被称作最大间距(Large Margin)分类器,损失函数的形式是:

其中:,以及的形式如下图所示:

在考虑到 soft margin 时的损失函数是 hinge 损失,SVM 就等价于 Hinge 损失函数 + L2 正则。此时损失函数为 0 时候就对应着非支持向量样本的作用,“从而所有的普通样本都不参与最终超平面的决定,这才是支持向量机最大的优势所在,对训练样本数目的依赖大大减少,而且提高了训练效率”。以下是七月在线大神 July 写的一篇关于 SVM 的介绍,个人觉得不错。分享下:支持向量机通俗导论(理解 SVM 的三层境界)。

Comments