当前位置: 首页 > news >正文

【线性回归模型】

线性回归模型

创建一些带标签的数据集𝐷 = {(𝒙1, 𝑦1) , (𝒙2, 𝑦2 ), … , (𝒙𝑚, 𝑦𝑚) }
x为特征,映射到对应的标签y,再引入偏置b

线性回归模型的函数表达式可以用下面的式子
来表达:
𝑓(𝑥) = 𝑤1𝑥1 + 𝑤2𝑥2 + ⋯ + 𝑤𝑛𝑥𝑛 + 𝑏

对比函数(误差函数)

在这里插入图片描述
即将参数模型预测出的y与真实的y做对比,来调节参数和权重,以及偏置使得误差最小
即找到一些w使得J(x)最小甚至等于0
Loss值计算公式:
在这里插入图片描述
f(x)就是线性模型预测值,y为真实值,这里把b省略掉了便于计算。

最小二乘法

这里loss值(即损失值)的函数为开口向上的二次函数,那一定有个最小值
在这里插入图片描述
就是对w求导,导数为0时取得极小值,w=y/x时loss值最小

最小二乘法向量形式

将参数𝑏纳入到矩阵𝒘中,此时数据特征矩阵𝒙则为:
在这里插入图片描述
矩阵𝒘为:在这里插入图片描述
得到线性回归模型的向量表达式如下式所示𝑓(𝑿) = 𝑿w

求解使得loss最小

还是仿造刚刚简易的最小二乘法求这个较复杂带矩阵表达式的最小loss值
很显然𝒙和𝒘都是一个矩阵,利用最小二乘法对这个矩阵求最优的𝒘矩阵参数。
计算的步骤如下所示

J ( ω ) = 1 2 ( f ( x ) − Y ) 2 J(\omega)=\frac{1}{2}(f(x)-Y)^2 J(ω)=21(f(x)Y)2
这个 1 2 \frac{1}{2} 21只是方便之后计算,注意这里Xw是两个矩阵
J ( ω ) = 1 2 ( X w − Y ) 2 J(\omega)=\frac{1}{2}(Xw-Y)^2 J(ω)=21(XwY)2
在线性代数里可写为它的转置乘以它本身 J ( ω ) = 1 2 ( X w − Y ) T ( X w − Y ) J(\omega)=\frac{1}{2}(Xw-Y)^T(Xw-Y) J(ω)=21(XwY)T(XwY)
转置拿进去
J ( ω ) = 1 2 ( X T w T − Y T ) ( X w − Y ) J(\omega)=\frac{1}{2}(X^Tw^T-Y^T)(Xw-Y) J(ω)=21(XTwTYT)(XwY)
= 1 2 ( X T w T X w − Y T X w − X T w T Y + Y Y T ) =\frac{1}{2}(X^Tw^TXw-Y^TXw-X^Tw^TY+YY^T) =21(XTwTXwYTXwXTwTY+YYT)
我们求 J ( ω ) J(\omega) J(ω)的导数为0时有loss的极小值
好,来求一下w的偏导数
∂ J ( ω ) ∂ w = 1 2 ( X T w T X w ∂ w − Y T X w ∂ w − X T w T Y ∂ w ) \frac{\partial J(\omega)}{\partial w}=\frac{1}{2}(\frac{X^Tw^TXw}{\partial w}-\frac{Y^TXw}{\partial w}-\frac{X^Tw^TY}{\partial w}) wJ(ω)=21(wXTwTXwwYTXwwXTwTY)
常数项 Y Y T YY^T YYT为0,看看对矩阵求导的公式知识点吧,如在这里插入图片描述
套公式则
∂ J ( ω ) ∂ w = 1 2 ( 2 X X T w − X T Y − X T Y ) \frac{\partial J(\omega)}{\partial w}=\frac{1}{2}(2XX^Tw-X^TY-X^TY) wJ(ω)=21(2XXTwXTYXTY)
∂ J ( ω ) ∂ w = X X T w − X T Y ) \frac{\partial J(\omega)}{\partial w}=XX^Tw-X^TY) wJ(ω)=XXTwXTY)
∂ J ( ω ) ∂ w = 0 \frac{\partial J(\omega)}{\partial w}=0 wJ(ω)=0 X X T w − X T Y = 0 XX^Tw-X^TY=0 XXTwXTY=0
w = ( X X T ) − 1 X T Y w=(XX^T)^{-1}X^TY w=(XXT)1XTY
但是 ( X X T ) − 1 (XX^T)^{-1} (XXT)1大多数时候是无解的,所以最小二乘法多数情况下不能来求导得出loss最小值
于是梯度下降法就上线了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 分班 - 华为OD统一考试(E卷)
  • 【machine learning-七-线性回归之成本函数】
  • 力扣232:用栈实现队列
  • 列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()
  • mysql性能优化-延迟写和异步写优化
  • Python中使用Redis布隆过滤器
  • miniconda环境配置
  • 深度学习自编码器 - 收缩自编码器(CAE)篇
  • 信安 实验1 用Wireshark分析典型TCP/IP体系中的协议
  • OpenCV运动分析和目标跟踪(3)计算图像序列的加权平均值函数accumulateWeighted()的使用
  • PyCharm用法
  • git拉取大文件
  • 数据库基础知识---------------------------(3)
  • solidwork剪裁实体
  • 【软考】计算机软件著作权
  • 【Linux系统编程】快速查找errno错误码信息
  • 【面试系列】之二:关于js原型
  • ES2017异步函数现已正式可用
  • Git 使用集
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • java小心机(3)| 浅析finalize()
  • Mac转Windows的拯救指南
  • PHP 7 修改了什么呢 -- 2
  • Python_OOP
  • Rancher如何对接Ceph-RBD块存储
  • tweak 支持第三方库
  • vue的全局变量和全局拦截请求器
  • 安装python包到指定虚拟环境
  • 从PHP迁移至Golang - 基础篇
  • 代理模式
  • 如何学习JavaEE,项目又该如何做?
  • 微信小程序填坑清单
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 白色的风信子
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • #数学建模# 线性规划问题的Matlab求解
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (52)只出现一次的数字III
  • (bean配置类的注解开发)学习Spring的第十三天
  • (ZT)出版业改革:该死的死,该生的生
  • (过滤器)Filter和(监听器)listener
  • (数据结构)顺序表的定义
  • (新)网络工程师考点串讲与真题详解
  • (转)Google的Objective-C编码规范
  • (转)为C# Windows服务添加安装程序
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net Memory Profiler的使用举例
  • .Net6 Api Swagger配置
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • /usr/bin/env: node: No such file or directory