最小二乘法的实现
inv 逆
dot 点乘
mat 矩阵
array 数组
.T 转置
本次不要截距,用一个过原点的方程来作为例子
y=2x
θ=(X^T X)^-1 * X^T Y
>>> import numpy as np
>>> from numpy.linalg import inv
>>> from numpy import dot
>>> from numpy import mat
>>> X=mat([1,2,3]).reshape(3,1)
>>> Y=2*X
>>> theta=dot(dot(inv(dot(X.T,X)),X.T),Y)
>>> print(theta)
[[2.]]
>>>
theta = (X'X)^-1X'Y的程序表达式:
theta = dot(dot(inv(dot(X.T, X)), X.T), Y)
最小二乘法