继续处理:
,由于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)