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

最小二乘法正规方程推导过程最小二乘法正规方程推导过程线性回归岭回归:添加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} XRm×n,输出 y ∈ R m × 1 \textbf{y}\in\mathbb{R}^{m\times 1} yRm×1,需要学习的参数 w ∈ R n × 1 \textbf{w}\in \mathbb{R}^{n\times 1} wRn×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)=21yXw22
有对 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(yXw)T(yXw)=0(yTyyTXw(Xw)Ty+(Xw)TXw)=0(2wTXTy+wTXTXw)=02XTy+(XTX+(XTX)T)w=02XTy+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)=21yXw22+λ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(yXw)T(yXw)+λwTw=0(yTyyTXw(Xw)Ty+(Xw)TXw)+2λw=0(2wTXTy+wTXTXw)+2λw=02XTy+(XTX+(XTX)T)w+2λw=02XTy+2XTXw+2λIw=0w=(XTX+λI)1XTy

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

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

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

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

(0)


相关推荐

  • 深入JAVA注解(Annotation):自定义注解

    深入JAVA注解(Annotation):自定义注解一、基础知识:元注解要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解:  元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它annotation类型作说明。Java5.0定义的元注解:    1.@Targe…

  • Vuex实践-mapState和mapGetters

    Vuex实践-mapState和mapGetters一.前言  本文章是vuex系列的最后一篇,主要总结的是如何使用mapState和mapGetters访问vuex中的state和getters。二.多个模块中mapState和mapGetters的使用  上一篇文章《Vuex实践(中)》里面我们总结的就是多模块的内容,所以关于store.js、moduleA.js和moduleB.js的代码保持不变。  在此为了方便观看,我将这…

  • CBOW 更新[通俗易懂]

    CBOW 更新[通俗易懂]代码:importtorchimporttorch.nnasnnimportnumpyasnpdefmake_context_vector(context,word_to_ix):idxs=[word_to_ix[w]forwincontext]returntorch.tensor(idxs,dtype=torch.long)…

  • 海思hi3798mv300和310的区别_海思3516

    海思hi3798mv300和310的区别_海思3516在网上搜寻海思HI3519或者hi3516实时识别除了官方给的SDK中有Rfcn的实时识别例子之外,其它都是读图片例子。官方例子中给了如下网络参考:Rfcn、Segnet、FasterRcnn、Cnn、Ssd、Yolov1、Yolov2、Yolov3、Lstm、Pvanet在SDK中文件夹路径为/rp-hi3516dv300-busybox/smp/a7_linux/mpp/sample/svp/nnie其中有一个sample_nnie_main.c文件,官方例子如下:/************

  • 用计算机亩换算成平方,公倾,平方米,英亩,市亩,平方公里等常见面积单位转换在线计算器_三贝计算网_23bei.com…「建议收藏」

    本计算器用于土地面积不同单位之间的转换。输入已知面积,选择正确的单位类型,点击确定按钮,可求出其他单位的面积值。常见面积单位的换算关系,如下:1平方厘米=100平方毫米=0.1550平方英寸1平方米=10000平方厘米=1.1960平方码1公倾=10000平方米=2.4711英亩1平方公里=100公顷=0.3861平方英里1平方英寸=6.4516平方厘米1平方码=9平方英尺=0.8361平方米1英…

  • 捕获RuntimeException

    捕获RuntimeException捕获RuntimeExceptionruntimeException在java中是不被检查的,如何让抛出的runtimeException能够捕获到,并进行相应的处理。try{ //调用可能出现runtimeException的方法 XXXXXXXXXXXXXXXX}catch(Exceptione){ try{ throwe.getCause(); }catch(Throwableth){ //进行相应的捕获之后的处理 XXXXXXXXXXXXXXXXXX }}.

发表回复

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

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