机器学习——线性回归算法 (3)

  继续处理: 

机器学习——线性回归算法

,由于log A·B = logA + logB,因此可以将累乘转换为累加:

机器学习——线性回归算法

  进一步观察发现,可以将上面的式子看作是

机器学习——线性回归算法

 和 

机器学习——线性回归算法

 两部分的组合,即log A·B = logA + logB。

  这里要求解是的 θ,因此其他的都可以看作是常数项。 因此可以把

机器学习——线性回归算法

看作是m倍的常数项:

机器学习——线性回归算法

  再观察另一个部分:

机器学习——线性回归算法

,exp:高等数学里以自然常数e为底的指数函数,它同时又是航模名词,全称Exponential(指数曲线)。由于给对数取不同的底数只会影响极值,但不会影响极值点。 

  将这一部分底数取e,则与exp(x)的以e为底的指数发生抵消,再将常数项提取出来,可以将公司转成这种累加形式:

机器学习——线性回归算法

  公式到这里就不能继续化简了,毕竟每个人的年龄(x)和每个有多少钱(y)是不同的,因此,必须从第一个样本迭代到第m个样本。最终简化为:

机器学习——线性回归算法

(2)目标:让似然函数越大越好

  之前的目标:x和θ组合完后,成为y的可能性越大越好。因此现在要求得极大值点。A是一个恒为正的常数,B中包含平分因此也是一个正数。因此是两个正数间的减法。

  如要求值越大越好,因此B:

机器学习——线性回归算法

必须越小越好。

  现在就将目标转换为求解最小二乘法

二、求解最小二乘法

  从上面的推导可以得出结论:要求让似然函数越大越好,可转化为求θ取某个值时使J(θ)最小的问题。

  

机器学习——线性回归算法

  求解最小二乘法的方法一般为两种:矩阵式梯度下降法

1、矩阵式求解

  数据集含有m个样本,每个样本有n个特征时:

数据x可以写成m*(n+1)维的矩阵(+1是添加一列1,用于与截断b相乘);

θ则为n+1维的列向量(+1是截断b);

y为m维的列向量代表每m个样本结果的预测值。

  矩阵式的推导如下所示:

  

机器学习——线性回归算法

 

  让J(θ)对θ求偏导,当偏导等于零时,则这个θ就是极值点。XT代表X矩阵的转置,XT与X的乘积一定会得到一个对称阵。

  另外存在公式: θTXTXθ 等于 2XTXθ。

  XTX的逆矩阵为:(XTX)-1 ,将这个逆矩阵分别乘到偏导结果等式两边,左边期望是零,推导得到:

  0 = θ - (XTX)-1 · XTy,转换等式得到:θ=(XTX)-1XTy

  这种方法存在的问题:不存在学习的过程;矩阵求逆不是一个必然成功的行为(存在不可逆);

2、梯度下降法(GD)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfpjw.html