机器学习使用数据进行预测,数学表示是实现这个预测的重要途径。体现在两个方面: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)取其中最大的 [公式] 所在的索引。

关于向量计算的程序实现:上文描述中,参数和输入向量的计算写成 [公式] ,但在代码实现时,因为 [公式][公式] 个数据,习惯上把 [公式] 写成行向量的形式。因此,计算矩阵会返回来写: [公式] ,其中,输入数据 [公式][公式][公式] 列矩阵, [公式][公式] 维列向量或者 [公式] 维矩阵 。

Comments are closed.

Post Navigation