最小二乘法正规方程推导过程

最小二乘法正规方程推导过程最小二乘法正规方程推导过程线性回归岭回归:添加L2L_2L2​正则项输入样本X∈Rm×n\textbf{X}\in\mathbb{R}^{m\timesn}X∈Rm×n,输出y∈Rm×1\textbf{y}\in\mathbb{R}^{m\times1}y∈Rm×1,需要学习的参数w∈Rn×1\textbf{w}\in\mathbb{R}^{n\times1}w∈Rn×1。其中,mmm为样本个数,nnn为单个样本维度。线性回归最小化目标函数J(w)=12∥y−Xw∥22J(\

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

最小二乘法正规方程推导过程

问题描述

输入样本 X ∈ R m × n \textbf{X}\in \mathbb{R}^{m\times n} X∈Rm×n,输出 y ∈ R m × 1 \textbf{y}\in\mathbb{R}^{m\times 1} y∈Rm×1,需要学习的参数 w ∈ R n × 1 \textbf{w}\in \mathbb{R}^{n\times 1} w∈Rn×1。其中, m m m 为样本个数, n n n 为单个样本维度。

线性回归

最小化目标函数
J ( w ) = 1 2 ∥ y − Xw ∥ 2 2 J(\textbf{w}) = \frac{1}{2}\left\Vert\textbf{y}-\textbf{Xw}\right\Vert^2_2 J(w)=21​∥y−Xw∥22​
有对 w \textbf{w} w 求梯度等于零
∇ J ( w ) = 0 ∇ ( y − Xw ) T ( y − Xw ) = 0 ∇ ( y T y − y T Xw − ( Xw ) T y + ( Xw ) T Xw ) = 0 ∇ ( − 2 w T X T y + w T X T Xw ) = 0 − 2 X T y + ( X T X + ( X T X ) T ) w = 0 − 2 X T y + 2 X T Xw = 0 w = ( X T X ) − 1 X T y \begin{aligned}&\nabla J(\textbf{w})=\textbf{0}\\& \nabla\left(\textbf{y}-\textbf{Xw}\right)^T\left(\textbf{y}-\textbf{Xw}\right)=\textbf{0}\\& \nabla\left(\textbf{y}^T\textbf{y}-\textbf{y}^T\textbf{Xw}-\left(\textbf{Xw}\right)^T\textbf{y}+(\textbf{Xw})^T\textbf{Xw}\right)=\textbf{0}\\& \nabla\left(-2\textbf{w}^T\textbf{X}^T\textbf{y}+\textbf{w}^T\textbf{X}^T\textbf{Xw}\right)=\textbf{0}\\& -2\textbf{X}^T\textbf{y}+\left(\textbf{X}^T\textbf{X}+\left(\textbf{X}^T\textbf{X}\right)^T\right)\textbf{w}=\textbf{0}\\& -2\textbf{X}^T\textbf{y}+2\textbf{X}^T\textbf{X}\textbf{w}=\textbf{0}\\& \textbf{w}=\left(\textbf{X}^T\textbf{X}\right)^{-1}\textbf{X}^T\textbf{y}\end{aligned} ​∇J(w)=0∇(y−Xw)T(y−Xw)=0∇(yTy−yTXw−(Xw)Ty+(Xw)TXw)=0∇(−2wTXTy+wTXTXw)=0−2XTy+(XTX+(XTX)T)w=0−2XTy+2XTXw=0w=(XTX)−1XTy​

岭回归:添加 L 2 L_2 L2​ 正则项

最小化目标函数
J ( w ) = 1 2 ∥ y − Xw ∥ 2 2 + λ w T w J(\textbf{w}) = \frac{1}{2}\left\Vert\textbf{y}-\textbf{Xw}\right\Vert^2_2+\lambda\textbf{w}^T\textbf{w} J(w)=21​∥y−Xw∥22​+λwTw
有对 w \textbf{w} w 求梯度等于零
∇ J ( w ) = 0 ∇ ( y − Xw ) T ( y − Xw ) + λ ∇ w T w = 0 ∇ ( y T y − y T Xw − ( Xw ) T y + ( Xw ) T Xw ) + 2 λ w = 0 ∇ ( − 2 w T X T y + w T X T Xw ) + 2 λ w = 0 − 2 X T y + ( X T X + ( X T X ) T ) w + 2 λ w = 0 − 2 X T y + 2 X T Xw + 2 λ Iw = 0 w = ( X T X + λ I ) − 1 X T y \begin{aligned}&\nabla J(\textbf{w})=\textbf{0}\\& \nabla\left(\textbf{y}-\textbf{Xw}\right)^T\left(\textbf{y}-\textbf{Xw}\right)+\lambda\nabla\textbf{w}^T\textbf{w}=\textbf{0}\\& \nabla\left(\textbf{y}^T\textbf{y}-\textbf{y}^T\textbf{Xw}-\left(\textbf{Xw}\right)^T\textbf{y}+(\textbf{Xw})^T\textbf{Xw}\right)+2\lambda\textbf{w}=\textbf{0}\\& \nabla\left(-2\textbf{w}^T\textbf{X}^T\textbf{y}+\textbf{w}^T\textbf{X}^T\textbf{Xw}\right)+2\lambda\textbf{w}=\textbf{0}\\& -2\textbf{X}^T\textbf{y}+\left(\textbf{X}^T\textbf{X}+\left(\textbf{X}^T\textbf{X}\right)^T\right)\textbf{w}+2\lambda\textbf{w}=\textbf{0}\\& -2\textbf{X}^T\textbf{y}+2\textbf{X}^T\textbf{X}\textbf{w}+2\lambda\textbf{Iw}=\textbf{0}\\& \textbf{w}=\left(\textbf{X}^T\textbf{X}+\lambda\textbf{I}\right)^{-1}\textbf{X}^T\textbf{y}\end{aligned} ​∇J(w)=0∇(y−Xw)T(y−Xw)+λ∇wTw=0∇(yTy−yTXw−(Xw)Ty+(Xw)TXw)+2λw=0∇(−2wTXTy+wTXTXw)+2λw=0−2XTy+(XTX+(XTX)T)w+2λw=0−2XTy+2XTXw+2λIw=0w=(XTX+λI)−1XTy​

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145669.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SET QUOTED_IDENTIFIER ON

    SET QUOTED_IDENTIFIER ON

    2021年9月4日
  • java被电脑阻止怎么办_win10系统打开java显示应用程序已安全设置被阻止的处理方法…

    java被电脑阻止怎么办_win10系统打开java显示应用程序已安全设置被阻止的处理方法…有关win10系统打开java显示应用程序已安全设置被阻止的操作方法想必大家有所耳闻。但是能够对win10系统打开java显示应用程序已安全设置被阻止进行实际操作的人却不多。其实解决win10系统打开java显示应用程序已安全设置被阻止的问题也不是难事,小编这里提示两点:1、点击:开始-控制面板,选择查看方式为:大图标或小图标;2、双击java,选择“安全”,把“安全级别”降至“中”,点击“确定…

    2022年7月7日
  • RSA加密算法Python实现

    RSA加密算法Python实现RSA加密算法Python实现RSA加密算法是目前使用最广泛的加密方式,具体流程见RSA加密算法之前想过用C语言实现,但是由于C语言对整型的位宽有要求,RSA加密算法中需要使用的数字大小远远超出C语言中longlongint的最大值,最近学习了Python之后,发现Python没有这一要求,可以较容易的实现。以下模拟中只能输入数字,因为实际过程中所有文字信息都被转化成Unicode数字码传输,代码中没有做转化这一步,只模拟算法。fromrandomimportrandintfromd

    2022年5月28日
  • linux安装配置Mysql详细步骤

    linux安装配置Mysql详细步骤下载Mysqlrpm包官网下载:https://dev.mysql.com/downloads/mysql/如果你到了这里,本地应该有了如下四个rpm包:mysql-community-client-5.7.26-1.el6.x86_64.rpmmysql-community-common-5.7.26-1.el6.x86_64.rpmmysql-community-libs-5…

    2022年4月29日
  • 2020职称计算机题库和答案,2020职称计算机考试PowerPoint习题及答案1

    2020职称计算机题库和答案,2020职称计算机考试PowerPoint习题及答案1

    2021年11月28日
  • jenkins自动触发构建_触发器定时删除

    jenkins自动触发构建_触发器定时删除前言跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。jenkins的定时任务是用的crontab语法定时构建语法

    2022年7月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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