机器学习简介

有监督学习

有监督学习 指的是 学习从 输入(一个或多个) 映射到 输出的算法。有监督学习算法的关键在于首先要提供正确的样本示例供算法学习,然后算法便可以针对未见过的输入,输出相应的预测结果。下面是一些有监督学习的在现实生活中的示例:

垃圾邮件过滤器:email --> 垃圾邮件?(0/1)
语音识别:语音 --> 文本
机器翻译:英文 --> 中文
广告投递:广告、用户信息 --> 用户点击?(0/1)
自动驾驶:图片、雷达信息 --> 其他车辆位置
视觉检测:手机图片 --> 有缺陷?(0/1)

“有监督学习”中两类最常见的典型问题就是 回归(Regression) 和 分类(Classification)。两者的主要区别在于:

  • 回归问题:要预测的结果有无穷种可能,比如在一段范围内都有可能的数字取值。
  • 分类问题:只有有限种可能的输出结果,比如前面提到的判断某个邮件是否为垃圾邮件。

注1:任何预测数字的“有监督学习”模型,就是解决所谓的“回归问题”。 注2:在“分类问题”中,输出“类别”的英文是class或category,两者可以混用。

回归问题示例:房价预测

“房价预测”就是根据房子的面积计算价格。下图中的“红叉”就是预先提供的有正确映射关系的样本,“蓝色拟合线”就相当于算法学习输入样本,最后通过拟合线得到房价便是“预测”,这便是“有监督学习”的完整流程。注意到这个回归问题的输出(房价)可以是任意数字,于是便有无穷种可能。 Pasted image 20260330235554

直线拟合:根据拟合直线,可以预测房屋面积 对应的价格大约为 。 曲线拟合:根据拟合曲线,可以预测房屋面积对应的价格大约为

分类问题示例:乳腺癌检测

乳腺癌检测问题就是根据输入的一系列信息,如肿瘤块的大小、患者年龄、肿瘤块的厚度、细胞大小的均匀性、细胞形状的均匀性等,来判断是否为恶性肿瘤(0表示良性/1表示恶性)。下面给出“单输入的乳腺癌检测”、“两输入的乳腺癌检测”示意图:

Pasted image 20260331203732 单输入的乳腺癌检测问题

Pasted image 20260331204146 两输入的乳腺癌检测问题

单输入的乳腺癌检测:输入是“肿瘤的大小”,输出是“良性”、“恶性-类型1”、“恶性-类型2”。
两输入的乳腺癌检测:输入是“肿瘤的大小”、“患者年龄”,输出是“良性”、“恶性”。


无监督学习

聚类(Clustering):将相似的数据点分成一组。 异常检测(Anomaly detection):。有非常多的应用,比如在金融系统的诈骗检测中,异常时间、异常交易可能是欺诈。 降维(Dimensionality reduction):在尽可能丢失少的信息的前提下,将大数据集压缩成小得多的数据集。


线性回归模型

线性回归模型

  • 常用术语 Training Set(数据集):用于训练模型的数据集。 x:input variable(输入变量) / feature(特征) / input feature(输入特征),也就是“特征值”。 y:output variable(输出变量) / target variable(目标变量),也就是“目标值”。 m:表示训练样本的数量。 (x,y):单个训练样本。 (x (i),y(i)):第 i ii 个训练样本。上标加括号是为了和求幂次区别开来。 ​:表示对  的估计或预测。

Pasted image 20260331205038

> 表示函数 f以 x 函数输入,其输出 取决于w和b的值 > - :模型的参数 > - 通常会简写为

代价函数

代价函数用于 衡量模型的好坏,最简单、最常用的代价函数是“平均误差代价函数”(Squared error cost function):

:模型的参数 :训练样本的标号 :训练样本的总数 :第 i 个样本的真实目标值 :对的预测目标值 除以2m:按照惯例,机器学习中的平均代价函数会除以2m而非m,这是为了使后续的计算更加简洁

简化模型,设置参数

Pasted image 20260331234730


梯度下降法

梯度下降法

梯度下降(Gradient Desent)常用于寻找某函数(比如代价函数)的最大值、最小值。梯度下降不仅用于线性拟合,也用于训练如神经网络等深度学习模型、以及一些最大型、最复杂的人工智能模型。

以前面的来举例,梯度下降算法的步骤为:

1.选择初始点,一般在取值范围内选取简单的整数,如

2.沿着的“负梯度”方向,不断迭代计算。之所以沿着“负梯度”方向,是因为沿该方向下降速度最快(steepest descent, 最速下降)。如下:

α:学习率(Learning rate),用于控制步长。通常为介于0~1之间的一个小的正数,如0.01 :代价函数对 的偏导数(Partial Derivative),其取负值表明的方向可以使 下降 :代价函数对 的偏导数,意义同上

注意:上面是同时更新(Simultaneously update),也就是使用旧的 直接分别计算出新的 ;而不是先更新 w,再使用这个新的w计算新的b。 Pasted image 20260331235806

注意点1:学习率 学习率 的选取将会对梯度下降的效率产生巨大影响,若选取的不好,甚至会导致无法实现梯度下降。

α 选取的太小,会导致下降的速度非常慢(意味着需要计算很长时间),但最终也会收敛(converge)到最小值。 α 选取的太大,很可能会导致在极值点附近反复横跳甚至越来越远,也就是不会收敛甚至发散(diverge)。 α 选取的合适,越接近代价函数极小值,梯度越来越小,就会导致步长越来越小。

Pasted image 20260331235818

注意点2:多个极值点

在前面的讨论中,一直使用平方误差项作为代价函数。对于 平方误差项 的代价函数,都是“凸函数”或“凸面”。但若代价函数非凸时,可能就会存在不止一个极值。不同的起始点,就会导致不同的收敛速度或极值。所以 代价函数尽量要选择凸函数


用于线性回归的梯度下降

Pasted image 20260402232312 梯度下降法的迭代过程可能如上图红色箭头所示,从起始点不断收敛到最小值,并且注意到这个过程也是越来越慢的

在使用梯度下降法求解问题的过程中,每次迭代都会使用到所有的训练集数据计算代价函数及其梯度,所以这个梯度下降的过程称为“批量梯度下降(Batch gradient descent)” 在其他数据更为复杂的模型中,为了简化梯度下降法的计算量,每次只使用训练集的子集。


向量化和多元线性回归

多维特征

[!术语] :训练样本的总数 :输入特征的总数 :全部的输入特征值,是一个二维向量,每一行表示一个样本,每一列表示所有样本的单个特征 :表示第个特征概念(一维向量),的取值范围为 = 1 , . . . , n :第i个训练样本的第j个特征,是单个值。如下图中, = 30 :第i个训练样本的目标值,是单个值 :全部的训练样本的特征值,是一维向量 注:若无特殊说明,所有的一维向量都默认为列向量。

  • 单变量线性回归(univariate linear regression):只有单个特征的线性回归模型。
  • 多元线性回归(multiple linear regression):具有多维特征的线性回归模型。

Pasted image 20260402233506

如上图所示,将“房价预测 ”中的输入特征数量增加为4个:输入特征:房屋面积、卧室数量、房屋层数、房屋年龄。于是显然其线性回归模型也将从  扩展为下面的向量形式:

> :表示参数(列)向量。 表示当前特征对房屋价格影响。 > :常数项参数。可以理解为房屋的基价(base price) > :表示单个样本的特征(列)向量 > :表示两个向量的点积

向量化

Pasted image 20260402234036

用于多元线性回归的梯度下降法

表示单个样本的所有特征,是一维向量 是一个值,是一个值