IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 简单线性回归 解析解 最小二乘法 -> 正文阅读

[数据结构与算法]简单线性回归 解析解 最小二乘法

??这里所说的简单线性是指一元线性回归,即特征个数为1,样本个数为n个。符号表示中 y ^ i \hat y_i y^?i? 表示的是对第 i 个样本的预测值。所以损失函数为:

???? L ( w , b ) = ∑ i = 1 n 1 2 ( y i ? y ^ i ) 2 = ∑ i = 1 n 1 2 ( ( w T x i + b ) ? y i ) 2 = 1 2 ( x w ? y ) T ( x w ? y ) \large L(\pmb w, b) = \sum\limits_{i=1}^n \frac 12 (y_i - \hat y_i)^2 = \sum\limits_{i=1}^n \frac 12((\pmb w^T \pmb x_i + b) - y_i)^2 = \frac 12 (\pmb x\pmb w - \pmb y)^T(\pmb x \pmb w - \pmb y) L(ww,b)=i=1n?21?(yi??y^?i?)2=i=1n?21?((wwTxxi?+b)?yi?)2=21?(xxww?yy)T(xxww?yy)

??在训练模型时,我们希望寻找一组参数 ( w ? , b ? ) (\pmb w^*, b^*) (ww?,b?), 这组参数能最小化在所有训练样本上的总损失。如下式:

???? w ? , b ? = a r g m i n w , b L ( w , b ) \pmb w^*, b^* = argmin_{\pmb w, b} L(\pmb w, b) ww?,b?=argminww,b?L(ww,b)

??由于此函数 L ( w , b ) L(\pmb w, b) L(ww,b)是凸函数,所以极值点是最小值点。利用上述公式开始推导:

化简

?? L ( w , b ) = 1 2 ( x w ? y ) T ( x w ? y ) \large L(\pmb w, b) = \large\frac 12 (\pmb x \pmb w - \pmb y)^T(\pmb x \pmb w - \pmb y) L(ww,b)=21?(xxww?yy)T(xxww?yy)
???? = 1 2 ( ( x w ) T ? y T ) ( x w ? y ) =\large \frac 12((\pmb x \pmb w)^T - \pmb y^T)(\pmb x \pmb w - \pmb y) =21?((xxww)T?yyT)(xxww?yy)
???? = 1 2 ( w T x T ? y T ) ( x w ? y ) = \large \frac 12 (\pmb w^T \pmb x^T - \pmb y^T)(\pmb x \pmb w - \pmb y) =21?(wwTxxT?yyT)(xxww?yy)
???? = 1 2 ( w T x T x w ? w T x T y ? y T x w + y T y ) =\large \frac 12 (\pmb w^T \pmb x^T \pmb x\pmb w - \pmb w^T \pmb x^T \pmb y -\pmb y^T \pmb x \pmb w + \pmb y^T\pmb y) =21?(wwTxxTxxww?wwTxxTyy?yyTxxww+yyTyy)
注:

? w T A w ? w = 2 A w \large \frac {\partial \pmb w^T\pmb A \pmb w} {\partial\pmb w} = \pmb {2Aw} ?ww?wwTAAww?=2Aw2Aw

? w T A ? w = A \large \frac {\partial \pmb{w^TA}} {\partial \pmb w} = \pmb A ?ww?wTAwTA?=AA

? A w ? w = A T \large \frac {\partial \pmb {Aw}} {\partial \pmb w} = \pmb A^T ?ww?AwAw?=AAT

w \pmb w ww进行求导:

? L ? w = [ 1 2 ( w T x T x w ? w T x T y ? y T x w + y T y ) ] \large \frac {\partial L} {\partial \pmb w} = [\frac {\large 1} {\large 2} (\pmb w^T \pmb x^T \pmb x\pmb w - \pmb w^T \pmb x^T \pmb y -\pmb y^T \pmb x \pmb w + \pmb y^T\pmb y)] ?ww?L?=[21?(wwTxxTxxww?wwTxxTyy?yyTxxww+yyTyy)]

= 1 2 [ ( w T x T x w ) ′ ? ( w T x T y ) ′ ? ( y T x w ) ′ + ( y T y ) ′ ] \large = \frac {\large 1} {\large 2}[(\pmb w^T \pmb x^T \pmb x\pmb w)' - (\pmb w^T \pmb x^T \pmb y)' - (\pmb y^T \pmb x \pmb w)' + (\pmb y^T\pmb y)'] =21?[(wwTxxTxxww)?(wwTxxTyy)?(yyTxxww)+(yyTyy)]

= 1 2 [ 2 x T x w ? x T y ? ( y T x ) T ] \large = \frac {\large 1} {\large 2} [2\pmb x^T \pmb x \pmb w - \pmb x^T\pmb y - (\pmb y^T \pmb x)^T] =21?[2xxTxxww?xxTyy?(yyTxx)T]

= 1 2 [ 2 x T x w ? 2 x T y ] \large = \frac {\large 1} {\large 2} [2\pmb x^T \pmb x \pmb w - 2\pmb x^T \pmb y] =21?[2xxTxxww?2xxTyy]

= x T x w ? x T y \large = \pmb {x^Txw} - \pmb {x^Ty} =xTxwxTxw?xTyxTy

假设我们找到了最优解,即梯度为0。将损失关于 w \pmb w ww的导数设为0,得到解析解:

w ? = ( x T x ) ? 1 x T y \large \pmb {w^*} = (\pmb x^T \pmb x)^{-1}\pmb x^T\pmb y w?w?=(xxTxx)?1xxTyy

或者当样本 i i i 的预测值为 y ^ i \large \hat y_i y^?i?,其相应的真实标签为 y i \large y_i yi?时, 平方误差可以定义为以下公式:

???? l i ( w , b ) = 1 2 ( y ^ i ? y i ) 2 \large l_i(\pmb w, b) = \frac 12 (\hat y_i - y_i)^2 li?(ww,b)=21?(y^?i??yi?)2

由于平方误差函数中的二次方项, 估计值 y ^ i \large \hat y_i y^?i? 和观测值 y i \large y_i yi? 之间较大的差异将导致更大的损失。 为了度量模型在整个数据集上的质量,我们需计算在训练集个样本上的损失均值(也等价于求和)

???? L ( w , b ) = 1 n ∑ i = 1 n l i ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w T x i + b ? y i ) 2 \large L(\pmb w, b) = \frac 1n \sum\limits_{i=1}^nl_i(\pmb w, b) = \frac 1n \sum\limits_{i=1}^n \frac12(\pmb w^T\pmb x_i + b - y_i)^2 L(ww,b)=n1?i=1n?li?(ww,b)=n1?i=1n?21?(wwTxxi?+b?yi?)2

为了简化问题,可以忽略偏置(我们可以通过向添加所有值为1的一列来做到这一点)。也就是

X ← [ x , 1 ] \pmb {X \leftarrow [x, 1]} X[x,1]X[x,1]

w ← [ w b ] \pmb {w \leftarrow \begin{bmatrix} w \\ b \end{bmatrix}} w[wb?]w[wb?]

至此我们的预测问题(推导出使用平方误差的线性回归优化问题的解析解)是最小化

???? l ( X , y , w ) = 1 2 n ∣ ∣ y ? X w ∣ ∣ 2 \large l(\pmb {X, y, w}) = \frac {\large 1} {\large 2n} || \pmb {y - Xw}||^2 l(X,y,wX,y,w)=2n1?∣∣y?Xwy?Xw2

注:

? ∣ ∣ x 2 ∣ ∣ ? x = 2 x T \frac {\large \partial ||x^2||} {\large \partial x} = \large {2x^T} ?x?∣∣x2∣∣?=2xT

? A x ? x = A \frac {\large \partial Ax} {\large \partial x} = \large A ?x?Ax?=A

计算损失函数对 w \pmb w ww的梯度

? ? w l ( X , y , w ) = 1 n ( y ? X w ) T X \frac {\large \partial} {\large \partial \pmb w} \large \pmb {l(X, y, w)} = \frac {\large 1} {\large n}(\pmb {y - Xw})^TX ?ww??l(X,y,w)l(X,y,w)=n1?(y?Xwy?Xw)TX

由于此函数 l ( X , y , w ) \large l(\pmb {X, y, w}) l(X,y,wX,y,w)是凸函数,所以极值点是最小值点。也就是在损失平面上只有一个临界点,这个临界点对应于整个区域的损失极小点。

将损失函数关于 w \pmb w ww的导数设为0,求解矩阵方程来找到解析解

? ? w l ( X , y , w ) = 1 n ( y ? X w ) T X = 0 \frac {\large \partial} {\large \partial \pmb w} \large \pmb {l(X, y, w)} = \frac {\large 1} {\large n}(\pmb {y - Xw})^TX = 0 ?ww??l(X,y,w)l(X,y,w)=n1?(y?Xwy?Xw)TX=0

得到最优解

w ? = ( X T X ) ? 1 X T y \large \pmb {w^*} = \pmb{(X^TX)^{-1}X^Ty} w?w?=(XTX)?1XTy(XTX)?1XTy

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:36:44  更:2022-09-04 01:38:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:21:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码