机器学习中线性回归算法的推导过程

embedded/2024/11/24 8:52:54/

线性回归是机器学习中监督学习中最基础也是最常用的一种算法。

背景:当我们拿到一堆数据。这堆数据里有参数,有标签。我们将这些数据在坐标系中标出。我们会考虑这些数据是否具有线性关系。简单来说 我们是否可以使用一条线或者一个平面去拟合这些数据的分布。

什么是线性回归

  • 线性:因变量(通常是我们想要预测的变量)与自变量之间的关系可以用一个线性方程来描述。
  • 回归:建立一个模型,该模型能够描述因变量与自变量之间的关系,并且可以用来预测因变量的数值

线性回归的步骤

1、列出自变量与因变量的关系式。如:

在这里插入图片描述
2、整合:θ0后添加一个常为1的X。上面的式子变为下面的式子

在这里插入图片描述
上式中,x是我们知道的,θ是各个权重,是我们要求解的。

3、目标:将真实值与预测值的差值变为最小
在这里插入图片描述
上式中,y是我们的真实值,θx是我们的预测值,ϵ是误差

4、关于误差的说明
在这里插入图片描述
我们根据上面误差的说明可以得到:
1、
在这里插入图片描述
2、
在这里插入图片描述

3、在这里插入图片描述

这里我们要先明确,我们的目的是算出θT 这个权重矩阵。且 独立同分布的联合概率密度函数等于各个维度的边缘概率密度函数的乘积
我们可以得到似然函数

在这里插入图片描述
我们看上面这个似然函数。当m很大时,我们要求解就不太实际了。又因为我们是想得到我们的预测值跟真实值最接近的参数。所以我们可以尝试将乘法转化为加法。
在这里插入图片描述
上面式子可以将累乘展开简化成累加

在这里插入图片描述
又因为上面式子中,只有y和θ是变化的,其他参数都可以看作是常量。且我们要得到这个式子的最大值。
在这里插入图片描述
想要这个式子的值最大。求 A - B 的最大值,且A是常量,也就是求B的最小值。
在这里插入图片描述
求解:
在这里插入图片描述


http://www.ppmy.cn/embedded/34223.html

相关文章

【Linux网络】网络文件共享

目录 一、存储类型 二、FTP文件传输协议 2.1 FTP工作原理 2.2 FTP用户类型 2.3 FTP软件使用 2.3.1 服务端软件vsftpd 2.3.2 客户端软件ftp 2.4 FTP的应用 2.4.1 修改端口号 2.4.2 匿名用户的权限 2.4.3 传输速率 三、NFS 3.1 工作原理 3.2 NFS软件介绍 3.3 NFS配…

论文| Where Is Your Place, Visual Place Recognition?

论文| Where Is Your Place, Visual Place Recognition?

项目使用MySQL,现需要切换到oracle,需要注意什么地方?

在将一个已经使用Mybatis Plus开发完成的Java项目从MySQL数据库切换到Oracle数据库时,需要进行一系列的改造。以下是主要的改造步骤、SQL语句的差异、预估的工作量以及需要注意的事项。 1. 改造步骤 配置数据源 首先,需要更改项目中的数据库连接配置&…

微信IDE vscode插件:获取插件位置,并打开文件

背景 有没有觉得在微信开发工具里面添加一些插件可以很方便。因为微信IDE的编辑本身是依赖vscode开发,所以编写vscode插件自然可以在微信IDE使用。这样做好处就是可以满足到自己一些开发使用习惯。 1.获取插件的目录位置 那么如何获取插件里面的目录,…

高扬程水泵助力森林消防,守护绿色生命线/恒峰智慧科技

随着人类社会的不断发展,森林资源的保护和管理变得越来越重要。然而,森林火灾却时常威胁着这一宝贵资源。为了有效应对森林火灾,提高灭火效率,高扬程水泵在森林消防中发挥了重要作用。本文将重点介绍高扬程水泵在森林消防中的应用…

「AIGC」ChatGPT入门

一、了解ChatGPT 1. ChatGPT是什么 ChatGPT是一种基于人工智能技术的自然语言处理(NLP)模型,它能够通过机器学习算法理解和生成人类语言。这种模型通常用于聊天机器人、语言翻译、内容生成、问答系统等多种场景。ChatGPT能够模拟人类的对话…

【Android】Android应用性能优化总结

AndroidApp应用性能优化总结 最近大半年的时间里,大部分投在了某国内新能源汽车的某款AndroidApp开发上。 由于该App是该款车上,常用重点应用。所以车厂对应用性能的要求比较高。 主要包括: 应用冷启动达到***ms。应用热(温)启动达到***ms应…

Pytorch实现扩散模型【DDPM代码解读篇2】

扩散的代码实现 本文承接 Pytorch实现扩散模型【DDPM代码解读篇1】http://t.csdnimg.cn/aDK0A 主要介绍“扩散是如何实现的”。代码逻辑清晰,可快速上手学习。 # 扩散的代码实现 # 扩散过程是训练部分的模型。它打开了一个采样接口,允许我们使用已经…