理论推导

  机器学习所针对的问题有两种:一种是回归,一种是分类。回归是解决连续数据的预测问题,而分类是解决离散数据的预测问题。线性回归是一个典型的回归问题。其实我们在中学时期就接触过,叫最小二乘法。

  线性回归试图学得一个线性模型以尽可能准确地预测输出结果。 

  先从简单的模型看起: 

  首先,我们只考虑单组变量的情况,有: 

滞后特征法机器学习回归 滞后性回归_代价函数

 使得 

滞后特征法机器学习回归 滞后性回归_机器学习_02

 

  假设有m个数据,我们希望通过x预测的结果f(x)来估计y。其中w和b都是线性回归模型的参数。 

  为了能更好地预测出结果,我们希望自己预测的结果f(x)与y的差值尽可能地小,所以我们可以写出代价函数(cost function)如下: 

滞后特征法机器学习回归 滞后性回归_代价函数_03

 

  接着代入f(x)的公式可以得到: 

滞后特征法机器学习回归 滞后性回归_公式推导_04

 

  不难看出,这里的代价函数表示的是预测值f(x)与实际值y之间的误差的平方。它对应了常用的欧几里得距离简称“欧氏距离”。基于均方误差最小化来求解模型的方法我们叫做“最小二乘法”。在线性回归中,最小二乘法实质上就是找到一条直线,使所有样本数据到该直线的欧式距离之和最小,即误差最小。 

  我们希望这个代价函数能有最小值,那么就分别对其求w和b的偏导,使其等于0,求解方程。 

  先求偏导,得到下面两个式子: 

滞后特征法机器学习回归 滞后性回归_公式推导_05

滞后特征法机器学习回归 滞后性回归_机器学习_06

 

  很明显,公式中的参数m,b,w都与i无关,简化时可以直接提出来。 

  另这两个偏导等于0: 

  求解方程组,解得: 

滞后特征法机器学习回归 滞后性回归_公式推导_07

滞后特征法机器学习回归 滞后性回归_机器学习_08

 

  这样根据数据集中给出的x和y,我们可以求出w和b来构建简单的线性模型来预测结果。  接下来,推广到更一般的情况: 

  我们假设数据集中共有m个样本,每个样本有n个特征,用X矩阵表示样本和特征,是一个m×n的矩阵: 

滞后特征法机器学习回归 滞后性回归_线性回归_09

  用Y矩阵表示标签,是一个m×1的矩阵: 

滞后特征法机器学习回归 滞后性回归_线性回归_10

  为了构建线性模型,我们还需要假设一些参数: 

滞后特征法机器学习回归 滞后性回归_滞后特征法机器学习回归_11

 

(有时还要加一个偏差(bias)也就是

滞后特征法机器学习回归 滞后性回归_滞后特征法机器学习回归_12

, 为了推导方便没加,实际上结果是一样的)  好了,我们可以表示出线性模型了: 

滞后特征法机器学习回归 滞后性回归_机器学习_13

 

  h(x)表示假设,即hypothesis。通过矩阵乘法,我们知道结果是一个n×1的矩阵。 

  跟前面推导单变量的线性回归模型时一样,列出代价函数: 

滞后特征法机器学习回归 滞后性回归_公式推导_14

 

  这里的1/2并无太大意义,只是为了求导时能将参数正好消掉而加上。 

  代价函数代表了误差,我们希望它尽可能地小,所以要对它求偏导并令偏导数为0,求解方程。 

  在求偏导之前先展开一下: 

滞后特征法机器学习回归 滞后性回归_机器学习_15

 

滞后特征法机器学习回归 滞后性回归_公式推导_16

  接下来对

滞后特征法机器学习回归 滞后性回归_机器学习_17

 求导,先给出几个矩阵求导的公式: 

滞后特征法机器学习回归 滞后性回归_机器学习_18

滞后特征法机器学习回归 滞后性回归_代价函数_19

滞后特征法机器学习回归 滞后性回归_代价函数_20

  对代价函数

滞后特征法机器学习回归 滞后性回归_代价函数_21

 求关于

滞后特征法机器学习回归 滞后性回归_机器学习_22

 的偏导,并令其等于0。  求偏导。 

滞后特征法机器学习回归 滞后性回归_公式推导_23

  套用前面给出的矩阵求导公式。 

滞后特征法机器学习回归 滞后性回归_滞后特征法机器学习回归_24

  最后化简得到: 

滞后特征法机器学习回归 滞后性回归_线性回归_25

  好了,另这个偏导数等于0: 

滞后特征法机器学习回归 滞后性回归_线性回归_26

  解得: 

滞后特征法机器学习回归 滞后性回归_代价函数_27

OK,推导完毕。 
把知识点梳理一遍发现清楚了很多。写公式真的很累,明天再把线性回归的代码补上。 
(ง •̀_•́)ง