线性回归之标准方程法求损失函数最小值
在吴恩达-人工智能视频学习过程中,关于线性回归之标准方程法求损失函数最小值,比较经典的两处截图:
图1
图2
关于图2的证明,其实有个简单的思路。在电脑上打数字公式太为难了,我还是在纸上写吧:
先将图1的X矩阵转置为1行n列。那么就有
在这个转换过程中,稍微思考一下,就会有偷换概念的疑惑:
1.图1的X、Y是预测关系,而图2的X、Y是实际取值,不能直接划等号吧?
2.损失函数的最小二乘思想,在这里怎么体现不出来了?
是的,上述两个问题确实存在,参考:
https://blog.csdn.net/zhangbaodan1/article/details/81013056
看完详细论证,是不是感觉偷天换日的论证更好记忆呢!
具体编码实现:下图@改为乘号*
在前文https://www.cnblogs.com/myshuzhimei/p/11743544.html案例中,套用该方法即:
import numpy as np
x=np.matrix([[1,1],[1,2],[1,2],[1,1],[1,3]])
y=np.matrix([[14],[24],[18],[17],[27]])
z=np.linalg.inv(x.Tx)x.T*y #代码复制后乘号显示异常
print z
输出结果:
[[9.71428571]
[5.71428571]]
注意:
x0全部置为1,所以X矩阵至少有两列,第1列全部是1,第2列是特征值。
x1表示特征1...xn表示特征n,从单特征角度来看X和Y矩阵都是列向量。
Z也是列向量,行结果分别对应截距、特征1的向量...特征n的向量。