最小二乘法简明推导过程

最小二乘法简明推导过程最小二乘法推导最小二乘法公式J(θ)=1m∑i=1m(y(i)−hθ(x(i)))2J(\theta)=\frac1m\sum_{i=1}^m(y^{(i)}-h_{\theta}(x^{(i)}))^2J(θ)=m1​i=1∑m​(y(i)−hθ​(x(i)))2证明1.假设设数据中未被考虑进来的特征和人为无法控制的噪声为ε\varepsilonε。即y(i)=θTx(i)…

大家好,又见面了,我是你们的朋友全栈君。

最小二乘法推导

最小二乘法公式

J ( θ ) = 1 m ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) 2 J(\theta) = \frac1m\sum_{i=1}^m(y^{(i)} – h_{\theta}(x^{(i)}))^2 J(θ)=m1i=1m(y(i)hθ(x(i)))2

证明

1.假设

设数据中未被考虑进来的特征和人为无法控制的噪声为 ε \varepsilon ε

y ( i ) = θ T x ( i ) + ε ( i ) y^{(i)} = \theta^{T}x^{(i)} + \varepsilon^{(i)} y(i)=θTx(i)+ε(i)

ε ∼ N ( 0 , σ 2 ) \varepsilon \sim \mathcal{N}(0,\sigma^2) εN(0,σ2)

ε ( i ) i s I I D \varepsilon^{(i)} is IID ε(i)isIID (独立同分布)。

简单的说就是 ε ( i ) \varepsilon^{(i)} ε(i) 之间互不影响,前一个的变化,不影响后一个的变化。

可得 P ( y ( i ) ∣ x ( i ) ; θ ) ∼ N ( θ T x ( i ) , σ 2 ) P(y^{(i)} | x^{(i)};\theta) \sim \mathcal{N}(\theta^{T}x^{(i)},\sigma^2) P(y(i)x(i);θ)N(θTx(i),σ2)因为视这里的 θ T x ( i ) \theta^{T}x^{(i)} θTx(i) 为定值。

注意:此处的分号表示 θ \theta θ为参数而不是随机变量。

2.证明:

于是乎展开:

P ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) P(y^{(i)} | x^{(i)};\theta) = \frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(y^{(i)} – \theta^Tx^{(i)})^2}{2\sigma^2}) P(y(i)x(i);θ)=2π
σ
1
exp(2σ2(y(i)θTx(i))2)
留着备用。

定义似然率:

L ( θ ) = P ( y ⃗ ∣ x ; θ ) \mathcal{L}(\theta) = P(\vec{y}|x;\theta) L(θ)=P(y
x;θ)

= ∏ i = 1 m P ( y ( i ) ∣ x ( i ) ; θ ) =\prod^{m}_{i=1}P(y^{(i)}|x^{(i)};\theta) =i=1mP(y(i)x(i);θ)

= ∏ i = 1 m 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) = \prod^{m}_{i=1}\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(y^{(i)} – \theta^Tx^{(i)})^2}{2\sigma^2}) =i=1m2π
σ
1
exp(2σ2(y(i)θTx(i))2)

这个式子推出来有何意义呢?我们先看一下高斯分布的图像:

最小二乘法简明推导过程

如果这个图像中的0点即是 y ( i ) y^{(i)} y(i)是每个x对应的正确答案,如果这幅图就是$P(y^{(i)} | x^{(i)};\theta) $ 的话,那么横坐标轴上的点表示的就是 y ( i ) − ε ( i ) y^{(i)} – \varepsilon^{(i)} y(i)ε(i)也就是 θ T x ( i ) \theta^{T}x^{(i)} θTx(i)(参见假设一)

我们希望 ε ( i ) \varepsilon^{(i)} ε(i)尽可能的小,也就是 θ T x ( i ) \theta^{T}x^{(i)} θTx(i)更加靠近正确答案 y ( i ) y^{(i)} y(i),怎么做?只要令$P(y^{(i)} | x^{(i)};\theta) $尽可能大即可

从此我们得到了最大似然算法。

3.最大似然算法

我们对 L ( θ ) \mathcal{L}(\theta) L(θ)取对数(以e为底)

l ( θ ) = log ⁡ L ( θ ) \mathcal{l}(\theta) = \log{\mathcal{L}(\theta)} l(θ)=logL(θ)

= l o g ∏ i = 1 m 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) = log{\prod^{m}_{i=1}\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(y^{(i)} – \theta^Tx^{(i)})^2}{2\sigma^2})} =logi=1m2π
σ
1
exp(2σ2(y(i)θTx(i))2)
对数化乘为加

= ∑ i = 1 m log ⁡ 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) =\sum^m_{i=1}\log{\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(y^{(i)} – \theta^Tx^{(i)})^2}{2\sigma^2})} =i=1mlog2π
σ
1
exp(2σ2(y(i)θTx(i))2)

= log ⁡ m 2 π σ ∑ i = 1 m log ⁡ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) =\log{\frac{m}{\sqrt{2\pi}\sigma}}\sum^m_{i=1}\log{exp(-\frac{(y^{(i)} – \theta^Tx^{(i)})^2}{2\sigma^2})} =log2π
σ
m
i=1mlogexp(2σ2(y(i)θTx(i))2)

= log ⁡ m 2 π σ ∑ i = 1 m − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 =\log{\frac{m}{\sqrt{2\pi}\sigma}}\sum^m_{i=1}-\frac{(y^{(i)} – \theta^Tx^{(i)})^2}{2\sigma^2} =log2π
σ
m
i=1m2σ2(y(i)θTx(i))2

将它最大化只需 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 2 \sum^m_{i=1}\frac{(y^{(i)} – \theta^Tx^{(i)})^2}{2} i=1m2(y(i)θTx(i))2最小

证明完毕-

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145446.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • selenium自动化测试实战基于python_初级java工程师要求

    selenium自动化测试实战基于python_初级java工程师要求一、Selenium介绍Selenium是什么?一句话,自动化测试工具。它支持各种浏览器,包括Chrome,Safari,Firefox等主流界面式浏览器,如果你在这些浏览器里面安装一个Selenium的插件,那么便可以方便地实现Web界面的测试。Selenium2,又名WebDriver,它的主要新功能是集成了Selenium1.0以及WebDriver(WebDr…

  • vs2008连接tfs2013_VS连接SQL网页登录

    vs2008连接tfs2013_VS连接SQL网页登录偶尔还是会用到,老是忘记安装的顺序,在这儿mark一下。用VS2008连接TFS2010,需要按照以下顺序安装一下组件:.VS2008TeamExplorer2008      3.InstallVisualStudio2008SP1      4.InstallVSTS2008ForwardCompatibilityUpdate

  • Spring的静态代理与动态代理[通俗易懂]

    Spring的静态代理与动态代理[通俗易懂]简述AOP是可以横向扩展功能的,能够在不修改原来代码的前提下实现功能扩展,AOP的实现原理即是动态代理+反射。为什么要使用代理1.什么是代理  代理即是将被代理对象进一步封装后,隐藏被代理对象,在不修改被代理对象代码的前提下完成一些额外的处理。2.场景描述  有一个BookService类,其中有一个add方法,现在想在执行hello方法之前打印一句话,例如是打印”…

    2022年10月17日
  • dos命令运行java代码_如何制作ddos攻击

    dos命令运行java代码_如何制作ddos攻击dos攻击:拒绝服务攻击具体的原理不再多说我这里是java实现的推荐使用python做这种脚本,不要用java我写的仅供参考学习,请勿做坏事packagedos;importjava.net.httpurlconnection;importjava.net.url;importjava.net.urlconnection;importjava.util.arraylist;import…

  • gdb 内存断点watch 的使用

    gdb 内存断点watch 的使用1.watch变量的类型a.整形变量:inti;watchi;b.指针类型:char*p;watchp,watch*p;它们是有区别的.watchp是查看*(&p),是p变量本身。watch(*p)是p所指的内存的内容c.watch一个数组或内存区间ch

    2022年10月24日
  • 漫谈大数据 – 基于SparkSQL的离线数仓「建议收藏」

    漫谈大数据 – 基于SparkSQL的离线数仓「建议收藏」数据仓库,英文名称为DataWarehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

    2022年10月25日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号