【线性回归模型】

ops/2024/9/20 10:09:38/

线性回归模型

创建一些带标签的数据集𝐷 = {(𝒙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最小值
于是梯度下降法就上线了


http://www.ppmy.cn/ops/113348.html

相关文章

PostgreSQL 容器安装

使用Docker安装PostgreSQL(通常简称为PgSQL)容器的步骤相对直接且简单。以下是一个详细的步骤指南,帮助你通过Docker安装并运行PostgreSQL容器: 1. 安装Docker 首先,确保系统上已经安装了Docker。可以通过访问Docker…

34.贪心算法1

0.贪心算法 1.柠檬水找零(easy) . - 力扣(LeetCode) 题目解析 算法原理 代码 class Solution {public boolean lemonadeChange(int[] bills) {int five 0, ten 0;for (int x : bills) {if (x 5) // 5 元:直接收下…

第一章 初识SpringBoot

目录 一、概述 二、原理初探 三、构建一个简单的SpringBoot应用 四、附带知识(yaml几种语法) 一、概述 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用开发和项目搭建过程。约定大于配置,化繁为简…

Arthas 全攻略:让调试变得简单

文章目录 一、简介二、命令列表 一、简介 注意 : 我安装的版本是:Arthas V3.7.2 官网:https://arthas.aliyun.com/doc/ 相关错误解决方案请看GitHub:https://github.com/alibaba/arthas/issues Alibaba开源的Java诊断工具。 从…

物流管理系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,员工管理,部门管理,物品分类管理,物流公司管理,物流信息管理,配送信息管理 微信端账号功能包括:系统首页&a…

RabbitMQ 07 另两种集群方式 warren(主备模式),shovel(远程模式)

01.之前的集群有一个缺点,就是故障恢复的时候,停留在队列中的消息怎么办? 02.镜像集群模式,同步所有消息,当当前主节点不可用的时候,可以选举一个从节点来作为主节点。这样可以避免因为主节点不可用的情况…

【WPF】01 微软官方介绍开篇

这篇引入微软的首页介绍,比较全面,用于个人学习查看的内容,方便查找,后续将根据实战情况,逐步积累应用到的方法实现的效果等。 WPF 介绍 Windows Presentation Foundation (WPF) 是下一代显示系统,用于生…

ASPICE评估全流程解析:汽车软件开发组织能力的系统化评估

ASPICE(Automotive SPICE)评估的过程是一个系统化和详尽的流程,旨在评估汽车软件开发组织在软件开发过程方面的能力。 以下是ASPICE评估过程的详细描述: 1. 评估准备阶段 a. 确定评估目标和范围 明确评估的目标,如评…