前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >最小二乘法的极大似然解释

最小二乘法的极大似然解释

作者头像
xindoo
发布2021-01-22 11:45:31
4480
发布2021-01-22 11:45:31
举报
文章被收录于专栏:XINDOO的专栏XINDOO的专栏

  最开始学习机器学习的时候,首先遇到的就是回归算法,回归算法里最最重要的就是最小二乘法,为什么损失函数要用平方和,而且还得是最小?仔细想想最小二乘法视乎很合理,但是合理在哪,怎么用数学方法来证明它合理。 J(\theta) = \frac{1}{2}\sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2   在真实数据中,一个x值可能对应多个y值,因为实际y值可能是受多种因素影响,所以我们可以假设任意一个x对于的y的真实值服从正态分布。我们什么时候可以认为模型 \begin{equation}\begin{split} L(\theta) &= \prod_{i=1}^m p(y^{(i)}|x{^{(i)};\theta}) \ &=\prod_{i=1}^m \frac{1}{\sqrt{2\pi}\sigma}e^{(-\frac{(y^{(i)}-\theta^Tx{^{(i)}})^2}{2\sigma^2})} \end{split}\end{equation} \   上式中,\frac{1}{2}\sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2最小,于是我们就得到了最小二乘。 J(\theta) = \frac{1}{2}\sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2   其实通过这个公式我们可以求得关于\theta的解析解,可以直接计算出\theta,但我们一般不这么做,因为求解析解过程中需要求矩阵的逆,这是一个非常耗时的工作(时间复杂度\Theta(n^3)),另外矩阵也不一定可逆,一般都是用梯度下降。但我们还是看下如何求\theta的解析解。 J(\theta) = \frac{1}{2}\sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2 =\frac{1}{2}(X\theta-y)^T(X\theta-y) 对J(\theta)求一阶导得到梯度。 \begin{equation}\begin{split} \nabla_{\theta} J(\theta) &= \nabla_{\theta} (\frac{1}{2}(X\theta-y)^T(X\theta-y)) \ &= \nabla_{\theta} (\frac{1}{2}(\theta^TX^T-y^T)(X\theta-y)) \ &=\nabla_{\theta}(\frac{1}{2} ( \theta^T X^T X \theta - \theta^T X^T y - y^TX\theta + y^Ty) ) \ &=\frac{1}{2}(2X^TX\theta - X^Ty - (y^TX)^T) \ &= X^TX\theta-X^Ty \end{split}\end{equation} \ 因为J(\theta)是存在极小值的凸函数,什么时候取最小值呢?当然是梯度为0的时候。 X^TX\theta-X^Ty = 0 \ X^TX\theta=X^Ty \ \theta = (X^TX)^{-1}X^Ty

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档