码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习线性模型

时间:2019-09-27 23:09:16      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:模型   fun   机器学习   机器   math   线性模型   rac   display   min   

最小二乘法(LMS)

给定数据 \(D={(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(N)},y^{(N)})}\)\(h_{\theta}(x)=\theta^T x=\theta_0x_0+\theta_1x_1+...+\theta_nx_n=\theta_0+\theta_1x_1+...+\theta_nx_n\)

给定 \(N\) 组数据:

\[\theta_0+\theta_1x_1^{(1)}+\theta_2x_2^{(1)}+...+\theta_nx_n^{(1)}=y^{(1)}\]

\[\theta_0+\theta_1x_1^{(2)}+\theta_2x_2^{(2)}+...+\theta_nx_n^{(2)}=y^{(2)}\\\vdots\]

\[\theta_0+\theta_1x_1^{(N)}+\theta_2x_2^{(N)}+...+\theta_nx_n^{(N)}=y^{(N)}\]

求解 \(\theta\),使得输入 \(x\),得到 \(y\)。求解线性方程组。

\(\Rightarrow A =\begin{matrix} 1&x_1^{(1)}&\dots &x_n^{(1)}\\1&x_2^{(1)}&\dots &x_n^{(2)}\\\vdots &\vdots& \quad &\vdots\\1&x_1^{(N)}&\dots &x_n^{(N)}\end{matrix}\)

每一行 \(d_i\) 代表一组数据,每一列 \(x_i\)代表一个向量

\(\theta =\begin{matrix}\theta_0 \\\theta_1 \\ \vdots \\ \theta_n\end{matrix}\)

\(Y=\begin{matrix}y^{(0)} \\y^{(1)} \\ \vdots \\ y^{(N)}\end{matrix}\)

\(\Rightarrow A \theta = Y\)

矩阵下 \(cost function\):

\[S=min_{\theta}||A\theta-Y||_2^2\quad (二范数的平方)\\=(A\theta-Y)^T(A\theta-Y)\\=(\theta^TA^T-Y^T)(A\theta-Y)\\=\theta^TA^TA \theta-\theta^TA^TY-Y^TA\theta+Y^TY\\=\theta^TA^TA \theta-2\theta^TA^TY+Y^TY\]

最优解即:

\[\frac{\partial S}{\partial \theta}=0 \Rightarrow \frac{\theta^TA^TA \theta-2\theta^TA^TY+Y^TY}{\partial \theta}=\frac{\partial (\theta^TA^TA \theta)}{\partial \theta}-2A^TY+0\]

因为 \(\frac{d(u^Tv)}{dx}=\frac{du^T}{dx}v+\frac{dv^T}{dx}u\)

所以 \(\frac{d(x^Tx)}{dx}=\frac{dx^T}{dx}x+\frac{dx^T}{dx}x=2x\)

进一步 \(\frac{d(x^TBx)}{dx}=\frac{dx^T}{dx}Bx+\frac{dx^TB^T}{dx}x=Bx+B^Tx=(B+B^T)x\quad B是方阵\)

应用到方程中,将 \(A^TA\) 对应方阵 \(B\),则 \(\frac{\partial S}{\partial \theta}=2A^TA\theta-2A^TY=0\quad \Rightarrow A^TA\theta = A^TY\)

\[\theta=(A^TA)^{-1}A^TY\]

  • 数据较小时(不超百万)用最小二乘法代替梯度下降可以取得不错的结果。
  • 求矩阵的逆是最消耗时间的
  • 用梯度下降会存在收敛问题,步长\(\alpha\) 选不好还会震荡

机器学习线性模型

标签:模型   fun   机器学习   机器   math   线性模型   rac   display   min   

原文地址:https://www.cnblogs.com/ColleenHe/p/11600571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!