【机器学习笔记】回归算法

news2024/11/19 20:38:19

回归算法

文章目录

  • 回归算法
    • 1 线性回归
    • 2 损失函数
    • 3 多元线性回归
    • 4 线性回归的相关系数

1 线性回归

  1. 回归分析(Regression)

    回归分析是描述变量间关系的一种统计分析方法

    例:在线教育场景

    • 因变量 Y:在线学习课程满意度

    • 自变量 X:平台交互性、教学资源、课程设计

    预测性的建模技术,通常用于预测分析,预测的结果多为连续值(也可为离散值,二值)

  2. 线性回归 (Linear regression)

    因变量和自变量之间是线性关系,就可以使用线性回归来建模
    y = b + m 1 x 1 + m 2 x 2 + … + m n x n y = b + m_1x_1 + m_2x_2 + \ldots + m_nx_n y=b+m1x1+m2x2++mnxn
    其中 $m_1, m_2, \ldots, m_n $ 是各个特征的权重,$ x_1, x_2, \ldots, x_n $是对应的特征值。

    线性回归的目的即找到最能匹配(解释)数据截距斜率

  3. 如何拟合数据

    假设只有一个因变量和自变量,每个训练样例表示 (𝑥𝑖 , 𝑦𝑖)

    y ^ i \hat y_i y^i 表示根据拟合直线和 x𝑖 对 𝑦𝑖 的预测值: y ^ i = b 1 + b 2 x i \hat y_i=b_1+b_2x_i y^i=b1+b2xi

    定义 e i = y i − y ^ i e_i=y_i-\hat y_i ei=yiy^i误差项

    image-20240131105854324

    目标:得到一条直线使得对于所有训练样例的误差项尽可能小

  4. 线性回归的基本假设

    • 自变量与因变量间存在线性关系
    • 数据点之间独立
    • 自变量之间无共线性,相互独立;
    • 残差独立,等方差,且符合正态分布

2 损失函数

  1. 损失函数(loss function)

    损失函数(Loss Function)是用于衡量模型预测值与实际值之间差异的函数。

    • 均方误差(Mean Squared Error,MSE):用于回归问题,计算预测值与实际值之间的平方差的平均值。
      MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

    • 平均绝对误差(Mean Absolute Error,MAE):也用于回归问题,计算预测值与实际值之间的绝对差的平均值。
      MAE = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| MAE=n1i=1nyiy^i

  2. 最小二乘法(Least Square, LS)

    为了求解最优的截距和斜率,可以转化为一个针对损失函数的凸优化问题,称为最小二乘法
    min ⁡ b 1 , b 2 : ∑ i = 1 n ( y i − y ^ i ) 2 = ∑ i = 1 n ( y i − b 1 − b 2 x ) 2 \min_{b_1,b_2}:\sum_{i=1}^n(y_i - \hat{y}_i)^2=\sum_{i=1}^n(y_i - b_1-b_2x)^2 b1,b2min:i=1n(yiy^i)2=i=1n(yib1b2x)2
    为求最小值,将上事对 b 1 b_1 b1 b 2 b_2 b2求偏导,得到:
    b 2 = ∑ i = 1 n ( x i − x ^ ) ( y i − y ^ ) ∑ i = 1 n ( x i − x ^ ) 2 b 1 = y ^ − b 2 x ^ b_2=\frac{\sum_{i=1}^n(x_i-\hat x)(y_i-\hat y)}{\sum_{i=1}^n(x_i-\hat x)^2}\\b_1=\hat y-b_2\hat x b2=i=1n(xix^)2i=1n(xix^)(yiy^)b1=y^b2x^
    x ^ \hat x x^ y ^ \hat y y^ 分别表示自变量和因变量的均值。

  3. 梯度下降法(Gradient Descent, GD)

    沿着损失函数的梯度方向,通过不断更新模型参数来减小损失函数的值,直到达到损失函数的局部最小值或收敛到某个停止条件。

    • 初始化参数: 随机初始化模型的参数(权重 b 2 b_2 b2 和偏置 b 1 b_1 b1)。

    • 计算梯度: 计算当前参数下损失函数关于每个参数的梯度(导数)。
      KaTeX parse error: Undefined control sequence: \part at position 8: \frac{\̲p̲a̲r̲t̲ ̲\sum_{i=1}^ne_i…

    • 更新参数: 沿着梯度的反方向调整参数,通过学习率 α \alpha α 控制每次更新的步长。
      KaTeX parse error: Undefined control sequence: \part at position 19: …b-\alpha \frac{\̲p̲a̲r̲t̲ ̲\sum_{i=1}^ne_i…

    • 重复: 重复步骤2和3,直到满足停止条件,例如达到最大迭代次数或梯度接近零。

    • 输出: 返回最终的模型参数。

3 多元线性回归

  1. 多元线性回归(Multiple Linear Regression)

    当因变量有多个时,我们可以用矩阵方式表达
    Y = X β + e Y=X\beta +e Y=+e
    Y Y Y 为输出, X X X 为输入矩阵, β \beta β 为回归系数, e e e 是误差项(残差)。

  2. 损失函数

    误差项 e = y − X β e=y-X\beta e=y

    损失函数 ∑ i = 1 n e i 2 = e ⊤ e \sum_{i=1}^ne_i^2=e^\top e i=1nei2=ee e ⊤ e^\top e表示转置

    求解得到 β = ( X ⊤ X ) − 1 X ⊤ y \beta =(X^\top X)^{-1}X^\top y β=(XX)1Xy

  3. 实例:家庭花销预测

    记录了25个家庭每年在快销品和日常服务上总开销( Y Y Y),每年固定收入( X 2 X_2 X2) ,持有流动资产( X 3 X_3 X3)

    可以构建如下线性回归模型:
    y i = β 1 + β 2 x i 2 + β 3 x i 3 + ϵ i y_i=\beta_1 +\beta_2x_{i2}+\beta_3x_{i3}+\epsilon_i yi=β1+β2xi2+β3xi3+ϵi
    带入 β = ( X ⊤ X ) − 1 X ⊤ y \beta =(X^\top X)^{-1}X^\top y β=(XX)1Xy ,计算得到 β 1 = 36.789 \beta_1=36.789 β1=36.789 β 2 = 0.332 \beta_2=0.332 β2=0.332 β 3 = 0.125 \beta_3=0.125 β3=0.125

    预测:如果一个家庭每年固定收入为 50K$、持有流动资产 100K$,则 预计一年将会花费
    y ^ i = 36.79 = 0.332 ∗ 50 + 0.125 ∗ 100 = 65.96 K \hat y_i=36.79=0.332*50+0.125*100=65.96K y^i=36.79=0.33250+0.125100=65.96K

  4. 以“误差平方和”为损失函数的优缺点

    • 优点
      • 损失函数是严格的凸函数,有唯一解
      • 求解过程简单且容易计算
    • 缺点
      • 结果对数据中的"离群点"(outlier)"非常敏感
      • 损失函数对于超过低于真实值的预测是等价的

4 线性回归的相关系数

  1. 相关系数r

    定义因变量和自变量之间的相关系数 r
    r = 1 n − 1 ∑ i = 1 n ( x i − x ^ s x ) ( y i − y ^ s y ) r=\frac{1}{n-1}\sum_{i=1}^n(\frac{x_i-\hat x}{s_x})(\frac{y_i-\hat y}{s_y}) r=n11i=1n(sxxix^)(syyiy^)
    其中 $ \hat x$ 是 X X X 的均值, S x S_x Sx X X X 的标准差 1 n − 1 ∑ ( x i − x ^ ) 2 \sqrt{\frac{1}{n-1}\sum (x_i-\hat x)^2} n11(xix^)2

    协方差为 ( x i − x ^ s x ) ( y i − y ^ s y ) (\frac{x_i-\hat x}{s_x})(\frac{y_i-\hat y}{s_y}) (sxxix^)(syyiy^),描述两个变量和Y的线性相关程度

    image-20240131114416003

    相关系数r的绝对值越接近1,线性相关程度越高。

  2. 决定系数(coefficient of determination)

    决定系数 R 2 R^2 R2 ,也称作判定系数、拟合优度。

    决定系数衡量了模型对数据的解释程度,y的波动有多少百分比能被x的波动所描述。
    R 2 = 1 − MSE VAR = ∑ i ( y i − y ^ ) 2 ∑ i ( y i − y ˉ ) 2 R^2=1-\frac{\text{MSE}}{\text{VAR}}=\frac{\sum_i (y_i-\hat y)^2}{\sum_i(y_i-\bar y)^2} R2=1VARMSE=i(yiyˉ)2i(yiy^)2
    y i y_i yi 为真实值, y ^ i \hat y_i y^i 为预测值, y ˉ i \bar y_i yˉi 为均值。 MSE \text{MSE} MSE 是均方误差, VAR \text{VAR} VAR是方差。

    R 2 R^2 R2越接近1,表示回归分析中自变量对因变量的解释越好

    特别注意:变量相关 ≠ 存在因果关系

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

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

相关文章

《CSS 简易速速上手小册》第1章:CSS 基础入门(2024 最新版)

文章目录 1.1 CSS 语法和选择器:挑选你的画笔1.1.1 基础知识1.1.2 重点案例:创建一个响应式导航菜单1.1.3 拓展案例 1:为特定链接添加图标1.1.4 拓展案例 2:创建一个简单的问答折叠面板 1.2 盒模型的基础:构建你的乐高…

Linux 【docker系列1 - docker 安装与使用】

系列文章目录 文章目录 系列文章目录前言一、docker安装二、常用使用1.镜像相关2.读入数据 总结 前言 一、docker安装 docker的官方文档写的非常的详细,它包含了docker在各种环境下的安装,以及可能遇到的问题和解决方案。这里我们只描述docker在contOS上…

Excel+VBA处理高斯光束

文章目录 1 图片导入与裁剪2 获取图片数据3 数据拟合 1 图片导入与裁剪 插入图片没什么好说的,新建Excel,【插入】->【图片】。 由于图像比较大,所以要对数据进行截取,选中图片之后,点击选项卡右端的【图片格式】…

Qt QML学习(一):Qt Quick 与 QML 简介

参考引用 QML和Qt Quick快速入门全面认识 Qt Widgets、QML、Qt Quick 1. Qt Widgets、QML、Qt Quick 区别 1.1 QML 和 Qt Quick 是什么关系? 1.1.1 从概念上区分 QML 是一种用户界面规范和标记语言,它允许开发人员创建高性能、流畅的动画和具有视觉吸引…

pycharm deployment 灰色 一直无法点击

我的development的配置如下,我看了很多教程一直不知道为什么一直是灰色的, 文件夹配置: 如果你这里 Autodect,那么你Mapping 的文件夹应该是应该省略这个前缀的,例如我下面,我应该将本地文件夹映射到/home…

解析十六进制雷达数据格式:解析雷达FSPEC数据

以Cat62格式雷达数据为例,十六进制雷达数据部分代码: 3e0120bf7da4ffee0085 base_fspec_processor.h // // Created by qiaowei on 2024-02-03. //#ifndef RADARDATACONTROLLER_BASE_FSPEC_PROCESSOR_H #define RADARDATACONTROLLER_BASE_FSPEC_PROCESS…

音视频/流媒体协议和编码汇总

一、流媒体协议 1. RTMP/RTMPT/RTMPS/RTMPE 等多变种 是应用层协议,使用TCP作为底层传输协议,并提供了低延迟、高带宽利用率和实时性的特点。 (1)RTMP协议是Adobe的私有协议,未完全公开 (2)一般传输的是 flv,f4v 格式流 2. RTP/RTCP/SRTP …

【51单片机】LCD1602(可视化液晶屏)调试工具的使用

前言 大家好吖,欢迎来到 YY 滴 单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY…

网络编程..

1.互联网 有了互联网的出现 我们就可以足不出户的实现看电影、购物等等操作 我们认知中可能的互联网模型 较为真实的互联网模型 那么数据是如何从一个设备传递到另外一个设备的呢? 2.网络互联模型 统共有三种: 3.TCP/IP协议 TCP/IP是一群协议 里面…

Debezium发布历史120

原文地址: https://debezium.io/blog/2022/04/07/read-only-incremental-snapshots/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Read-only Incremental Snapshots for MySQL April 7, 2022 by K…

Amazon Dynamo学习总结

目录 一、Amazon Dynamo的问世 二、Amazon Dynamo主要技术概要 三、数据划分算法 四、数据复制 五、版本控制 六、故障处理 七、成员和故障检测 一、Amazon Dynamo的问世 Amazon Dynamo是由亚马逊在2007年开发的一种高度可扩展和分布式的键值存储系统,旨在解…

过渡效果的艺术:CSS transition 让网页交互更平滑(上)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

扑克牌大小(模拟)

题目 import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String s sc.nextLine();String[] ss s.split("-");StringBuffer s1 new StringBuffer();StringBuffer s2 new StringBuffer(…

“智能检测,精准把控。温湿度检测系统,为您的生活带来全方位的健康保障。”#非标协议项目【下】(分文件编程)

“智能检测,精准把控。温湿度检测系统,为您的生活带来全方位的健康保障。”#非标协议项目【下】(分文件编程) 前言预备知识1温湿度检测系统需求2.分文件编程核心思路3.分文件编程操作4利用分文件操作建立uart.c、lcd1602.c、dht11…

RM电控--机械入门

SW常用的快捷键: 多种视角观看: 左侧为自攻螺丝,右侧为钻尾螺丝 钻尾螺丝可以依靠自身进行钻孔操作,而自攻螺丝打之前必须先打好小孔。 螺钉; 这些螺钉大家认得全吗?你还知道哪些呢?_哔哩哔哩_bilibili …

Web Services 服务 是不是过时了?创建 Web Services 服务实例

Web Services 是不是过时了? 今天是兔年最后一天,先给大家拜个早年 。 昨天上午视频面试一家公司需要开发Web Services 服务,这个也没有什么,但还需要用 VB.net 开发。这个是多古老的语言了,让我想起来了 10年 前 写 …

Zookeeper集群搭建(3台)

准备工作 1、提前安装好hadoop102、hadoop103、hadoop104三台机器,参照:CentOS7集群环境搭建(3台)-CSDN博客 2、提前下载好Zookeeper安装包并上传到/opt/software上、安装包,链接:https://pan.baidu.com/…

Linux 软件管理(YUM RPM)

1 YUM yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次…

vscode wsl远程连接 权限问题

问题描述:执行命令时遇到Operation not permitted 和 Permission denied问题,是有关ip地址和创建文件的权限问题,参考网络上更改wsl.conf文件等方法均无法解决,只能加sudo来解决

推荐几个Python爬虫接单渠道

前言 平时工作有闲的家人们,今天给大家推荐一些用Python爬虫做私活的渠道! 【Python爬虫学习资料】 先给各位还不熟悉Python爬虫的朋友介绍一下! 可以短时间获得大量资料~ 可以进一步数据分析 当然也可以获得收益! 学会Python…