彻底学会系列:一、机器学习之线性回归(二)

0. 概念和公式

请参考:一、机器学习之线性回归(一)

1. 涉及公式

1.1 简单线性回归

y = w x + b y = wx + b y=wx+b

1.2 多元线性回归

y ^ = w 1 X 1 + w 2 X 2 . . . w n X n + w 0 \hat y = w_1X_1 + w_2X_2 ... w_nX_n + w_0 y^=w1X1+w2X2...wnXn+w0

向量表示:

y ^ = W T X \hat y = W^TX y^=WTX

1.3 高斯密度函数

f ( x ; μ , σ 2 ) = 1 2 π σ exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) \ f(x; \mu, \sigma^2) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)  f(x;μ,σ2)=2π σ1exp(2σ2(xμ)2)

1.4 最大似然估计

连乘: L ( θ ∣ data ) = ∏ i = 1 n P ( X i ; θ ) \ L(\theta | \text{data}) = \prod_{i=1}^{n} P(X_i; \theta)  L(θdata)=i=1nP(Xi;θ)
对数: ℓ ( θ ∣ data ) = ∑ i = 1 n log ⁡ P ( X i ; θ ) \ \ell(\theta | \text{data}) = \sum_{i=1}^{n} \log P(X_i; \theta)  (θdata)=i=1nlogP(Xi;θ)

1.5 最小二乘法

J ( θ ) = 1 2 ∑ i = 1 n ( h θ ( x i ) − y i ) 2 J(\theta) = \frac{1}{2} \sum_{i=1}^{n} (h_\theta(x_i) - y_i)^2 J(θ)=21i=1n(hθ(xi)yi)2

1.8 正规方程

θ = ( X T X ) − 1 X T y \theta = (X^T X)^{-1} X^T y θ=(XTX)1XTy

1.9 均方误差

MSE = 1 n ∑ i = 1 n ( h θ ( x i ) − y i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (h_\theta(x_i) - y_i)^2 MSE=n1i=1n(hθ(xi)yi)2

2. 公式推导(不考虑多项式)

2.1 解决问题

  1. 建模问题:
    目标: 描述变量之间的线性关系。
    问题描述: 给定一组观测数据 ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) (x_1, y_1), (x_2, y_2), ..., (x_n, y_n) (x1,y1),(x2,y2),...,(xn,yn),其中 (x) 是自变量,(y) 是因变量,线性回归的目标是找到一条直线 y = θ 0 + θ 1 x y = \theta_0 + \theta_1 x y=θ0+θ1x,使得这条直线最好地拟合给定的数据点。其中, θ 0 \theta_0 θ0 是截距, θ 1 \theta_1 θ1 是斜率。
    解法: 通过最小化均方误差(MSE)来找到最优的参数 θ \theta θ。这等价于解一个线性方程系统,其中涉及到对参数的偏导数等于零,或者使用正规方程(Normal Equations)。
    ∂ J ( θ ) ∂ θ 0 = 0 \frac{\partial J(\theta)}{\partial \theta_0} = 0 θ0J(θ)=0
    ∂ J ( θ ) ∂ θ 1 = 0 \frac{\partial J(\theta)}{\partial \theta_1} = 0 θ1J(θ)=0

  2. 预测问题:
    目标: 使用模型进行未知变量的预测。
    问题描述: 在建立了线性回归模型后,我们希望利用这个模型对未知数据进行预测。例如,给定新的 x x x 值,我们希望预测对应的 y y y 值。
    解法: 使用建立好的线性回归模型,将未知 x x x 值代入模型,得到预测的 y y y 值。
    y ^ = θ 0 + θ 1 x \hat{y} = \theta_0 + \theta_1 x y^=θ0+θ1x

2.2 误差分析

误差计算:
ε i = ∣ y i − y ^ ∣ \varepsilon_i = |y_i - \hat y | εi=yiy^
向量写法:
ε i = ∣ y i − W T x i ∣ \varepsilon_i = |y_i - W^T x_i | εi=yiWTxi

ε i \varepsilon_i εi为误差
y i y_i yi为样本实际值
y ^ \hat y y^为预测值

假定所有的样本的误差都是独立的,上下的震荡,叠加之后形成的分布,它服从正态分布(高斯分布),服从均值为 0,方差为某定值的高斯分布。

2.3 误差分析 到 高斯密度函数

高斯密度函数(正态分布)公式:
f ( x ; μ , σ 2 ) = 1 2 π σ exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) \ f(x; \mu, \sigma^2) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)  f(x;μ,σ2)=2π σ1exp(2σ2(xμ)2)
μ \mu μ :均值,为0
σ 2 \sigma^2 σ2 :方差
x x x:误差变量 ε i \varepsilon_i εi
公式简化:
f ( ε i ∣ μ = 0 , σ 2 ) = 1 2 π σ exp ⁡ ( − ( ε i − 0 ) 2 2 σ 2 ) \ f(\varepsilon_i|\mu=0, \sigma^2) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(\varepsilon_i-0)^2}{2\sigma^2}\right)  f(εiμ=0,σ2)=2π σ1exp(2σ2(εi0)2)

f ( ε i ∣ 0 , σ 2 ) = 1 2 π σ exp ⁡ ( − ε i 2 2 σ 2 ) \ f(\varepsilon_i|0, \sigma^2) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{\varepsilon_i^2}{2\sigma^2}\right)  f(εi∣0,σ2)=2π σ1exp(2σ2εi2)

2.4 高斯密度函数 到 最大似然估计

有: f ( ε i ∣ 0 , σ 2 ) = 1 2 π σ exp ⁡ ( − ε i 2 2 σ 2 ) \ f(\varepsilon_i|0, \sigma^2) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{\varepsilon_i^2}{2\sigma^2}\right)  f(εi∣0,σ2)=2π σ1exp(2σ2εi2)

P = ∏ i = 1 n f ( ε i ∣ 0 , σ 2 ) = ∏ i = 1 n 1 2 π σ exp ⁡ ( − ε i 2 2 σ 2 ) P= \prod_{i=1}^{n}f(\varepsilon_i|0, \sigma^2)=\prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{\varepsilon_i^2}{2\sigma^2}\right) P=i=1nf(εi∣0,σ2)=i=1n2π σ1exp(2σ2εi2)

有: ε i = ∣ y i − W T x i ∣ \varepsilon_i = |y_i - W^T x_i | εi=yiWTxi

P = ∏ i = 1 n 1 2 π σ exp ⁡ ( − ( y i − W T x i ) 2 2 σ 2 ) P= \prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(y_i - W^T x_i )^2}{2\sigma^2}\right) P=i=1n2π σ1exp(2σ2yiWTxi)2)

2.5 最大似然估计 到 最小二乘法

有: P = ∏ i = 1 n 1 2 π σ exp ⁡ ( − ( y i − W T x i ) 2 2 σ 2 ) P= \prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(y_i - W^T x_i )^2}{2\sigma^2}\right) P=i=1n2π σ1exp(2σ2yiWTxi)2)
对数运算:
l o g e ( P ) = l o g e [ ∏ i = 1 n 1 2 π σ exp ⁡ ( − ( y i − W T x i ) 2 2 σ 2 ) ] log_e(P)= log_e\left[\prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(y_i - W^T x_i )^2}{2\sigma^2}\right)\right] loge(P)=loge[i=1n2π σ1exp(2σ2yiWTxi)2)]

累乘变成累加:
l o g e ( P ) = l o g e [ ∏ i = 1 n 1 2 π σ exp ⁡ ( − ( y i − W T x i ) 2 2 σ 2 ) ] log_e(P)= log_e\left[\prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(y_i - W^T x_i )^2}{2\sigma^2}\right)\right] loge(P)=loge[i=1n2π σ1exp(2σ2yiWTxi)2)]

= ∑ i = 1 n l o g e [ 1 2 π σ exp ⁡ ( − ( y i − W T x i ) 2 2 σ 2 ) ] = \sum_{i=1}^{n}log_e\left[\frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(y_i - W^T x_i )^2}{2\sigma^2}\right)\right] =i=1nloge[2π σ1exp(2σ2yiWTxi)2)]

= ∑ i = 1 n [ l o g e 1 2 π σ − ( y i − W T x i ) 2 2 σ 2 ] = \sum_{i=1}^{n}\left[log_e\frac{1}{\sqrt{2\pi}\sigma} -\frac{(y_i - W^T x_i )^2}{2\sigma^2}\right] =i=1n[loge2π σ12σ2yiWTxi)2]

= ∑ i = 1 n [ l o g e 1 2 π σ − 1 2 . 1 σ 2 . ( y i − W T x i ) 2 ] = \sum_{i=1}^{n}\left[log_e\frac{1}{\sqrt{2\pi}\sigma} -\frac{1}{2}. \frac{1}{\sigma^2}.(y_i - W^T x_i)^2\right] =i=1n[loge2π σ121.σ21.(yiWTxi)2]

最大似然求对数后, π 、 σ \pi 、\sigma πσ都是常量, ( y i − W T x i ) 2 (y_i - W^T x_i)^2 (yiWTxi)2肯定大于零。求最大值问题,转变为求最小值问题:
L ( θ ∣ data ) = 1 2 . ∑ i = 1 n ( y i − W T x i ) 2 \ L(\theta | \text{data}) = \frac{1}{2}.\sum_{i=1}^{n} (y_i - W^T x_i)^2  L(θdata)=21.i=1n(yiWTxi)2

可写成:
h θ ( x i ) = W T x i h_\theta(x_i) = W^T x_i hθ(xi)=WTxi
J ( θ ) = 1 2 ∑ i = 1 n ( h θ ( x i ) − y i ) 2 J(\theta) = \frac{1}{2} \sum_{i=1}^{n} (h_\theta(x_i) - y_i )^2 J(θ)=21i=1n(hθ(xi)yi)2

2.6 最小二乘法 到 正规方程

有: J ( θ ) = 1 2 ∑ i = 1 n ( h θ ( x i ) − y i ) 2 J(\theta) = \frac{1}{2} \sum_{i=1}^{n} (h_\theta(x_i) - y_i )^2 J(θ)=21i=1n(hθ(xi)yi)2

可写成:
J ( θ ) = 1 2 ( X θ − y i ) T ( X θ − y i ) J(\theta) = \frac{1}{2}(X\theta - y_i)^T(X\theta - y_i) J(θ)=21(yi)T(yi)

J ( θ ) = 1 2 ( θ T X T − y i T ) ( X θ − y i ) J(\theta) = \frac{1}{2}(\theta^TX^T - y_i^T)(X\theta - y_i) J(θ)=21(θTXTyiT)(yi)

J ( θ ) = 1 2 ( θ T X T X θ − θ T X T y i − y i T X θ + y T y i ) J(\theta) = \frac{1}{2}(\theta^TX^TX\theta -\theta^TX^Ty_i - y_i^TX\theta + y^Ty_i) J(θ)=21(θTXTθTXTyiyiT+yTyi)

进行求导(注意X、y是已知量, θ \theta θ是未知数)

J ′ ( θ ) = X T ( X θ − y ) J'(\theta) = X^T(X\theta - y) J(θ)=XT(y)

0 = X T ( X θ − y ) 0 = X^T(X\theta - y) 0=XT(y)

X T X θ = X T y X^TX\theta = X^Ty XT=XTy

使用逆矩阵进行转化:
( X T X ) − 1 X T X θ = ( X T X ) − 1 X T y (X^TX)^{-1}X^TX\theta = (X^TX)^{-1}X^Ty (XTX)1XT=(XTX)1XTy

I θ = ( X T X ) − 1 X T y I\theta = (X^TX)^{-1}X^Ty Iθ=(XTX)1XTy

θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy

2.7 最小二乘法 和 均方误差

J ( θ ) = 1 2 ∑ i = 1 n ( h θ ( x i ) − y i ) 2 J(\theta) = \frac{1}{2} \sum_{i=1}^{n} (h_\theta(x_i) - y_i)^2 J(θ)=21i=1n(hθ(xi)yi)2

MSE = 1 n ∑ i = 1 n ( h θ ( x i ) − y i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (h_\theta(x_i) - y_i)^2 MSE=n1i=1n(hθ(xi)yi)2

相似但用处不同:
J ( θ ) J(θ) J(θ) : 模型训练的损失函数,通过梯度下降等优化算法最小化代价函数
MSE \text{MSE} MSE: 评估模型的性能,衡量模型的预测值与真实值之间的平均平方误差

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/670814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp小程序实现直播组件live-player全屏问题

实现效果&#xff1a; 代码&#xff1a; <template><view class"player-content"><!-- #ifdef APP-PLUS --><video id"myVideo" :src"srcLink" autoplay controls><!-- 打开全屏 --><image class"img…

K8S-PV 与PVC

持久存储卷&#xff08;Persistent Volume&#xff0c;PV&#xff09; PV 是k8s管理员定义的好的物理存储或者说实际存储&#xff0c;对应用来说是透明的&#xff0c;应用只需要向着PVC申请即可&#xff0c;具体使用的创建好的那个PV是由PVC去匹配和绑定的。 PV是集群中的定义…

速度规划:s形曲线------pencv c++绘图(1)

理论篇 代码篇&#xff1a; opencv环境配置 注意&#xff01;注意&#xff01;注意&#xff01; 配置结束后运行环境切换为如下再运行&#xff1a; #include <iostream> #include <cmath>#include <opencv2/opencv.hpp>using namespace std;double a_max…

github和gitee

github GitHub是一个面向开源及私有软件项目的托管平台&#xff0c;因为只支持Git作为唯一的版本库格式进行托管&#xff0c;故名GitHub。 github可以给提交的代码打上标签&#xff0c;方便版本的迭代和回退&#xff0c;也是一个存储代码的仓库 github工作区 gitee是gitHub的…

蓝桥杯---分小组

9名运动员参加比赛,需要分3组进行预赛. 有哪些分组的方案呢? 我们标记运动员为 A,B,C .... I 下面的程序列出了所有的分组方法。 该程序的正常输出为:

【CSS】margin塌陷和margin合并及其解决方案

【CSS】margin塌陷和margin合并及其解决方案 一、解决margin塌陷的问题二、避免外边距margin重叠&#xff08;margin合并&#xff09; 一、解决margin塌陷的问题 问题&#xff1a;当父元素包裹着一个子元素且父元素没有边框的时候&#xff0c;当给子元素设置margin-top:100px&…

JS实现一键复制、选中复制、选中多行复制

JS实现一键复制 首先我们准备一份通用的一键复制代码&#xff1a; export function copyTextFun(text) {if (!text) return falsevar textarea document.createElement(textarea) textarea.value text document.body.appendChild(textarea) textarea.select() message.dest…

【精选】java继承进阶——继承的特点 this、super

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

5 款提升 UI 设计效率的软件工具

你知道如何选择正确的UI设计软件吗&#xff1f;你知道设计漂亮的用户界面和带来良好用户体验的应用程序需要什么界面设计软件吗&#xff1f;基于APP界面的不同功能&#xff0c;所选择的APP界面设计软件也会有所不同。然而&#xff0c;并不是说所有的APP界面设计软件都非常精通&…

【安卓中kotlin 泛型的基本用法】

泛型的基本用法 泛型主要有两种定义方式&#xff0c;一种是定义泛型类&#xff0c;另一种是定义泛型方法&#xff0c;使用的语法结构都是。当然括号内的T并不是固定要求的&#xff0c;事实上你使用任何英文字母或单词都可以&#xff0c;但是通常情况下&#xff0c;T是一种约定…

VMware16安装CentOS7mini 中遇到的一些问题

1、安装后网络不通解决方法&#xff1a; 修改这个文件/etc/sysconfig/network-script/ifcfg-ens33下ONBOOTno这个选项为yes&#xff1b;重启网络service network restartping baidu.com 2、安装的CentOS mini 系统少了很多软件需要安装&#xff0c;联网后一般采用网络安装 y…

Leetcode02.05:链表求和

一、题目描述 给定两个用链表表示的整数&#xff0c;每个节点包含一个数位。 这些数位是反向存放的&#xff0c;也就是个位排在链表首部。 编写函数对这两个整数求和&#xff0c;并用链表形式返回结果。 示例&#xff1a; 输入&#xff1a;(7 -> 1 -> 6) (5 -> 9 -…

【C语言】贪吃蛇 详解

该项目需要的技术要点 C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32API等。 由于篇幅限制 和 使知识模块化&#xff0c; 若想了解 使用到的 Win32API 的知识&#xff1a;请点击跳转&#xff1a;【Win32API】贪吃蛇会使用到的 Win32API 目录 1. 贪吃蛇游…

02.02_111期_C++_数据内存分布笔记

operator new 和 operator delete是系统提供的全局函数 operator new是对malloc的封装 operator deleter是对free的封装 实际上在写出int* p2 new int;这样的代码的时候&#xff0c; 由于new是一个操作符&#xff0c;所以在编译的时候要转成对应的指令 转成的指令就是opera…

yolo导出的onnx怎么使用onnxruntime调用

1.上几篇文件&#xff0c;写了怎样标注数据&#xff0c;获取yolo数据&#xff0c;怎样训练数据。这篇文章写下&#xff0c;怎样使用yolo训练好的网络进行推理&#xff0c;怎样使用onnxruntime调用网络推理。 2.yolo模型训练后推理&#xff0c;主要分两种&#xff0c;一种是使用…

系统设计认知与常用方法(架构设计)

系统设计应该着重解决什么问题、回应哪些关切、如何演进、常用设计方法、如何落地&#xff1f; 系统设计认知 设计是需求与开发的连接点 解决复杂度 本质复杂度&#xff1a;问题本身的固有复杂度&#xff08;不可避免&#xff09;衍生复杂度&#xff1a;解决方法引入的额外…

HTTP相关问题

目录 1.从输入URL到页面展示到底发生了什么&#xff1f; 2.HTTP状态码有哪些&#xff1f; 2.1 2XX(成功状态码) 2.2 3XX(重定向状态码) 2.3 4XX(客户端错误状态码) 2.4 5XX(服务端错误状态码) 3.HTTP 请求头中常见的字段有哪些&#xff1f; 4.HTTP和HTTPS有什么区别&…

vue3-内置组件-Transition

基于状态变化的过渡和动画&#xff08;常用&#xff09; 建议多看几遍~~。然后动手去写写&#xff0c;学编程只有多动手才能有感觉。 内置组件: 它在任意别的组件中都可以被使用&#xff0c;无需注册。 Vue 提供了两个内置组件&#xff0c;可以帮助你制作基于状态变化的过渡和动…

EMC测试介绍

EMC测试介绍 EMC包括电磁干扰(EMI) 和抗电磁干扰(EMS)两个部分。发射干扰传导发射测试极限线以峰值检坡器测量时使用的决策树应用EN55022标准的波形示例测试仪器![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4580f693ae9a4f84891ece29681c7bf2.png) 辐射发射测试…

如何快速捕获和验证用户软件需求,实现快速迭代

在软件开发过程中&#xff0c;快速捕获和验证用户需求&#xff0c;以及迅速迭代功能&#xff0c;是保持项目敏捷性和用户满意度的关键。下面将介绍一些建议&#xff0c;帮助你在软件开发过程中更有效地满足用户需求。 1. 深入沟通与用户互动 要捕获用户需求&#xff0c;必须与…