首页 > 其他分享 >线性回归模型公式推导完整简洁版

线性回归模型公式推导完整简洁版

时间:2024-03-13 13:34:35浏览次数:12  
标签:begin 简洁 partial matrix 推导 end right 线性 frac

线性回归模型公式推导完整简洁版

这里做模型简化,假设有4个样本,每个样本有3个特征,然后使用平方误差作为损失函数,公式推导反向传播的求导过程。

设训练样本为

\[X = \left[ \begin{matrix} x_{1}^{(1)} & x_{2}^{(1)} & x_{3}^{(1)}\\ x_{1}^{(2)} & x_{2}^{(2)} & x_{3}^{(2)}\\ x_{1}^{(3)} & x_{2}^{(3)} & x_{3}^{(3)}\\ x_{1}^{(4)} & x_{2}^{(4)} & x_{3}^{(4)}\\ \end{matrix} \right] \]

其中,有4个样本,每个样本三个特征值分别为\([x_1,x_2, x_3]\)。

设标签数据为

\[\hat{y} = \left[ \begin{matrix} y^{(1)} \\ y^{(2)} \\ y^{(3)} \\ y^{(4)} \\ \end{matrix} \right] \]

设需要学习的参数为\(w\)(3维度向量)和\(b\)(标量)

\[w = \left[ \begin{matrix} w_{1} \\ w_{2} \\ w_{3} \\ \end{matrix} \right] \]

则损失函数为

\[Loss(w,b) =\frac{1}{2n} || Xw + b - \hat{y} ||^{2} \]

则将损失函数化为具体矩阵

\[Loss(w,b) = \frac{1}{2n} ( \left[ \begin{matrix} x_{1}^{(1)} & x_{2}^{(1)} & x_{3}^{(1)}\\ x_{1}^{(2)} & x_{2}^{(2)} & x_{3}^{(2)}\\ x_{1}^{(3)} & x_{2}^{(3)} & x_{3}^{(3)}\\ x_{1}^{(4)} & x_{2}^{(4)} & x_{3}^{(4)}\\ \end{matrix} \right] \left[ \begin{matrix} w_{1} \\ w_{2} \\ w_{3} \\ \end{matrix} \right] + b - \left[ \begin{matrix} y^{(1)} \\ y^{(2)} \\ y^{(3)} \\ y^{(4)} \\ \end{matrix} \right] )^{向量内积} \]

将\(b\)放入矩阵,简化公式

\[Loss(w,b) = \frac{1}{2n} ( \left[ \begin{matrix} x_{1}^{(1)} & x_{2}^{(1)} & x_{3}^{(1)} & 1\\ x_{1}^{(2)} & x_{2}^{(2)} & x_{3}^{(2)} & 1\\ x_{1}^{(3)} & x_{2}^{(3)} & x_{3}^{(3)} & 1\\ x_{1}^{(4)} & x_{2}^{(4)} & x_{3}^{(4)} & 1\\ \end{matrix} \right] \left[ \begin{matrix} w_{1} \\ w_{2} \\ w_{3} \\ b \end{matrix} \right] - \left[ \begin{matrix} y^{(1)} \\ y^{(2)} \\ y^{(3)} \\ y^{(4)} \\ \end{matrix} \right] )^{向量内积} \]

则令

\[X = \left[ \begin{matrix} x_{1}^{(1)} & x_{2}^{(1)} & x_{3}^{(1)} & 1\\ x_{1}^{(2)} & x_{2}^{(2)} & x_{3}^{(2)} & 1\\ x_{1}^{(3)} & x_{2}^{(3)} & x_{3}^{(3)} & 1\\ x_{1}^{(4)} & x_{2}^{(4)} & x_{3}^{(4)} & 1\\ \end{matrix} \right] \space \space \space \space \space w = \left[ \begin{matrix} w_{1} \\ w_{2} \\ w_{3} \\ b \end{matrix} \right] \]

则公式化简为

\[Loss(w) =\frac{1}{2n} (Xw - \hat{y})^{向量内积} =\frac{1}{2n} (Xw - \hat{y})^{T}(Xw - \hat{y}) \]

则\(Loss(w)\)对\(w\)求导

\[\frac{\partial Loss(w)}{\partial w} = \frac{1}{2n} \space \frac{\partial }{\partial w}(Xw - \hat{y})^{T}(Xw - \hat{y}) \tag{1} \]

根据标量对向量求导公式

\[\frac{\partial \mathrm{y}}{\partial x} = \frac{\partial x^{T}x}{x}=2x^{T} \]

因此,公式(1)根据链式求导规则化简为

\[\frac{\partial Loss(w)}{\partial w} = \frac{1}{n} \space (Xw - \hat{y})^{T} \space \frac{\partial (Xw-\hat{y})}{\partial {w}} \\ =\frac{1}{n} (Xw-\hat{y})^{T} X \]

主要还是捋清楚标量对向量求导后的维数,参照这个图
image-20240312221801233

标签:begin,简洁,partial,matrix,推导,end,right,线性,frac
From: https://www.cnblogs.com/LadissonLai/p/18070409

相关文章

  • 洛谷题单指南-线性表-P2234 [HNOI2002] 营业额统计
    原题链接:https://www.luogu.com.cn/problem/P2234题意解读:要计算每一天最小波动值的和,需要对每一天求最小波动值,再求和,如果暴力法,时间复杂度在1+2+3+......+32767≈5*10^8,可能会超时。解题思路:1、暴力法:由于本题测试数据比较水,实测暴力求解直接可以AC,由于没有技术含量,不做具体......
  • 动手学深度学习Pytorch 2.3线性代数-笔记
    标量标量——仅包含一个数值,由只有一个元素的张量表示变量——未知的标量值例,将华氏度值转换为摄氏度的计算表达式​,其中5、9、32为标量,c和f为变量。实例化两个标量并进行算术运算 importtorch ​ x=torch.tensor(3.0) y=torch.tensor(2.0) print(x+y,x......
  • 数据结构——线性表2(链表)
    【基本知识】链表是一种常见的数据结构,用于存储和组织数据。它由一系列节点组成,每个节点包含两部分:数据(data)和指向下一个节点的指针(*next)。链表中的节点可以在内存中不连续地分布,通过指针将它们连接起来。链表有多种类型,其中最常见的是单向链表和双向链表。在单向链表中,......
  • 洛谷题单指南-线性表-P4387 【深基15.习9】验证栈序列
    原题链接:https://www.luogu.com.cn/problem/P4387题意解读:判断一组序列入栈后,出栈序列的合法性。解题思路:数据长度100000,直接模拟堆栈的入栈和出栈即可遍历每一个入栈元素,依次入栈,每一个元素入栈后,比较栈顶元素和出栈序列第一个,如果相等,则出栈,持续进行比较、出栈直到不相等......
  • 【算法】【线性表】【数组】在排序数组中查找元素的第一个和最后一个位置
    1 题目给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1,-1]。你必须设计并实现时间复杂度为 O(logn) 的算法解决此问题。示例1:输入:nums=[5,7,7,8,8,......
  • 5V转3.3V/2.5V芯片PW2059:低功耗设计,外围电路简洁,电源转换更高效
    在当今日益发展的便携式设备市场中,高效稳定的电源供应已成为消费者和制造商共同关注的焦点。为了满足这一需求,PW2059降压转换器应运而生,以其出色的性能和广泛的应用领域,成为了市场的热门选择。一、产品描述PW2059是一款恒频、电流模式降压转换器,它集成了主开关和同步整流器,无需......
  • 洛谷题单指南-线性表-P1241 括号序列
    原题链接:https://www.luogu.com.cn/problem/P1241题意解读:括号配对问题,直观上是堆栈的应用。关键的匹配策略是读懂该句:考察它与它左侧离它最近的未匹配的的左括号。解题思路:本题所需核心数据结构是堆栈,由于要实现从栈顶找到第一个未匹配的左括号,所以堆栈中只存所有左括号。从......
  • 洛谷题单指南-线性表-P2058 [NOIP2016 普及组] 海港
    原题链接:https://www.luogu.com.cn/problem/P2058题意解读:计算24小时时间窗口内不同国家的数量,是队列的典型应用。解题思路:本题需要用到两个关键的数据结构:队列、数组队列用来保存24小时内到达的船的时间,数组用来保存24小时内每个国家有多少人每到一只船,需要把时间放入队列,如......
  • 洛谷题单指南-线性表-P1540 [NOIP2010 提高组] 机器翻译
    原题链接:https://www.luogu.com.cn/problem/P1540题意解读:本题模拟内存的调入调出,内存先入先出的特性就是队列。解题思路:本题需要两种数据结构:队列、数组队列用来模拟内存的操作,数组充当hash表用于判断单词在内存是否存在核心逻辑:对于每一个单词,如果内存不存在,查一次词典,再将......
  • 【算法】【线性表】【链表】合并 K 个升序链表
    1 题目给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1-......