机器学习使用数据进行预测,数学表示是实现这个预测的重要途径。体现在两个方面:1)预测模型需要用数学公式表达(如假设函数),2)学习算法需要用数学公式表达(如代价函数、梯度计算等)。本文总结机器学习中的这些公式:
线性回归:
- 样本输入数据:
, 即: 对于维数是 n 的样本数据,加上偏移量,
定义成
维向量。如果总共
个样本数据,任意一个表示为
,
。
- 样本输出数据:
, 即:
是实数标量,任意一个样本输出表示为
。
- 参数:
, 即:
是
维向量(含
个输入特征参数和 1 个偏移量)。
表示第
个特征的参数(j>0时)或者偏移量(j=0 时)。
。注意:对不同的样本,参数应该是一致的,所以,不存在
。
- 假设函数:
,表示线性回归的一种:多重变量线性回归。
表示转置,即把列向量
变成行向量,与另一个列向量
相乘(向量内积),结果是标量。
- 代价函数:
,此公式由高斯分布和最小二乘法得来。代价函数是
的函数。
- 代价函数梯度:
- 参数迭代:
- 预测: 优化之后得到的参数用
表示,则 预测值:
=
- 正则化代价函数:
,注意, j 从 1 开始,即不含偏置项。
- 正则化代价梯度函数:
(当 j = 0 时),
(当 j >= 1 时)
逻辑回归-二元分类:
- 样本输入数据:
, 即: 对于维数是 n 的样本数据,加上偏移量,
定义成
维向量。对总共
个样本数据,任意一个表示为
,
。
- 样本输出数据:
,取值 0 或者 1。任意一个样本输出表示为
。
- 参数:
, 即:
是
维向量(含 n 个输入特征参数和 1 个偏移量)。
表示第
个特征的参数(当 j>0时 )或者偏移量(当 j=0 时)。
- 假设函数:
,
,表示逻辑回归的一种:逻辑斯蒂斯回归。
- 预测:1, 当
; 0, 当
- 代价函数:
,此公式由互信息熵推导而来。虽然是负号,其实是个正数,因为log项是负的。
- 代价函数梯度:
,这个函数和线性回归的一样。
- 参数迭代:
, 其中
叫学习率。
- 正则化代价函数:
,注意, j 从 1 开始,即不含偏置项的参数。
- 正则化代价梯度函数:
(当 j = 0 时),
(当 j >= 1 时)
逻辑回归-多元分类:
多元分类在二元分类的基础上,对输出数据、参数和预测方式做了一些调整即可:
- 样本输出数据:
,取值 1,2,…,r。任意一个样本输出表示为
。需要把它表示成 r 维向量,如,当
= 5 时,
表示为
, 相当于 r 个逻辑二元分类。
- 参数:
, 即:
是
维矩阵。
- 预测:分两步:1)计算 r 个
, 2)取其中最大的
所在的索引。
关于向量计算的程序实现:上文描述中,参数和输入向量的计算写成 ,但在代码实现时,因为
是
个数据,习惯上把
写成行向量的形式。因此,计算矩阵会返回来写:
,其中,输入数据
是
行
列矩阵,
是
维列向量或者
维矩阵 。