注:1.开发环境jupyter,数据文件和代码要放在同一个文件夹下
2.有不理解的地方和建议欢迎在评论区指出
3.题目和数据集搜搜就有了,此处未附上
一.单变量线性回归
讲解:
- error=X乘theta-Y,此处的乘为矩阵乘法,X为(N,n),theta为(n,1),Y为(n,1),N为样本个数,n为特征个数
粗体的非命令行代码为操作失误,不用照着打
二.多变量线性回归
三.正规方程
损失函数(
θ
默
认
为
列
向
量
\theta默认为列向量
θ默认为列向量)
J=
1
2
N
∣
∣
X
θ
−
Y
∣
∣
2
\frac{1}{2N}||X \theta-Y||^2
2N1∣∣Xθ−Y∣∣2
求损失函数的最小值,因为
X
θ
−
Y
X\theta-Y
Xθ−Y为列向量,所以
J
=
J=
J=
1
2
N
(
X
θ
−
Y
)
T
(
X
θ
−
Y
)
=
1
2
N
(
θ
T
X
T
−
Y
T
)
(
X
θ
−
Y
)
\frac{1}{2N}(X\theta-Y)^T(X\theta-Y)=\frac{1}{2N}(\theta^TX^T-Y^T)(X\theta-Y)
2N1(Xθ−Y)T(Xθ−Y)=2N1(θTXT−YT)(Xθ−Y)
乘开=
1
2
N
(
θ
T
X
T
X
θ
−
θ
T
X
T
Y
−
Y
T
X
θ
+
Y
T
Y
)
\frac{1}{2N}(\theta^TX^TX\theta-\theta^TX^TY-Y^TX\theta+Y^TY)
2N1(θTXTXθ−θTXTY−YTXθ+YTY)
接下来的东西比较难打latex,所以直接手写好了
求导另倒数等于0,得
θ
=
(
X
T
X
)
−
1
X
T
Y
\theta=(X^TX)^{-1} X^TY
θ=(XTX)−1XTY