机器学习 day04

news2025/5/18 16:32:26

文章目录

  • 前言
  • 一、线性回归的基本概念
  • 二、损失函数
  • 三、最小二乘法


前言

通过今天的学习,我掌握了机器学习中的线性回归的相关基本概念,包括损失函数的概念,最小二乘法的理论与算法实现。


一、线性回归的基本概念

要理解什么是线性回归,就要先理解什么是回归。

回归是通过训练带标签的样本数据得到模型参数,对连续型数据进行预测。

像这样的式子: y = w x + b y=wx+b y=wx+b就是一个线性回归模型,在实际的应用场景中往往不能找到某一个方程满足所有特征,这时我们就需要使用计算机根据实际的数据求解得到最优(也就是最接近真实值)的方程式作为模型完成预测任务。

例如,如果我们将数据描绘在坐标轴上:
在这里插入图片描述
线性回归的任务就是找到一条最佳直线拟合所有点。

二、损失函数

我们想通过线性回归,找到一条最优的直线拟合所有数据,有许多方式确定这条最优直线,这里我们使用损失函数进行评估。

对于线性回归而言,我们使用均方误差作为损失函数,即实际数据点数据到拟合直线的竖直距离的平方再求和。用公式可以表达为:
e ˉ = 1 n ∑ i = 1 n ( y i − w x i − b ) 2 \bar e = \frac{1}{n} \textstyle\sum_{i=1}^{n}(y_{i}-w x_{i} - b)^{2} eˉ=n1i=1n(yiwxib)2
其中,每一个w值都会对应一个loss,我们要求的即是使得loss最小时的w值。

如果只有单个特征参数w,我们可以使用以前学习过的数学方法,如韦达定理,求导等直接解出;但如果有多个w值,我们就需要使用最小二乘法和梯度下降的思想进行求解了。

要推导接下来的最小二乘法和梯度下降,需要结合矩阵求导和矩阵除法的公式:
在这里插入图片描述

三、最小二乘法

假设一共有多个特征,即组成损失函数的是一个多元二次方程,即:
h ( x ) = w 1 x 1 + w 2 x 2 + w 3 x 3 + w 4 x 4 + w 5 x 5 + w 6 x 6 + w 7 x 7 + w 8 x 8 + w 0 x 0 h(x)=w_1x_1+w_2x_2+w_3x_3+w_4x_4+w_5x_5+w_6x_6+w_7x_7+w_8x_8+w_0x_0 h(x)=w1x1+w2x2+w3x3+w4x4+w5x5+w6x6+w7x7+w8x8+w0x0

l o s s = [ ( h 1 ( x ) − y 1 ) 2 + ( h 2 ( x ) − y 2 ) 2 + . . . ( h n ( x ) − y n ) 2 ] / n = 1 n ∑ i = 1 n ( h ( x i ) − y i ) 2 = 1 n ∣ ∣ ( X W − y ) ∣ ∣ 2 = 1 2 ∣ ∣ ( X W − y ) ∣ ∣ 2 这就是最小二乘法公式 ∣ ∣ A ∣ ∣ 2 是欧几里得范数的平方   也就是每个元素的平方相加 loss=[(h_1(x)-y_1)^2+(h_2(x)-y_2)^2+...(h_n(x)-y_n)^2]/n\\=\frac{1}{n} \textstyle\sum_{i=1}^{n}(h(x_{i})-y_{i})^{2}\\=\frac{1}{n}||(XW-y)||^2\\=\frac{1}{2}||(XW-y)||^2 这就是最小二乘法公式 \\ ||A||^2 是欧几里得范数的平方\,也就是每个元素的平方相加 loss=[(h1(x)y1)2+(h2(x)y2)2+...(hn(x)yn)2]/n=n1i=1n(h(xi)yi)2=n1∣∣(XWy)2=21∣∣(XWy)2这就是最小二乘法公式∣∣A2是欧几里得范数的平方也就是每个元素的平方相加

由于我们是研究使得loss最小时的w值而非关心loss具体的值,所以我们将n改为2,这可以便于后续求导运算

接下来,我们对loss的矩阵形式进行化简和求导(此处不再赘述),最终可以得到最后可以得到w值组成的矩阵W:
W = ( X T X ) − 1 X T y W=(X^TX)^{-1}X^Ty W=(XTX)1XTy
通过以上的式子,我们可以精确地求出每一个w值,我们将这种方法称为最小二乘法。

API用法:sklearn.linear_model.LinearRegression()

  • 该函数返回模型的参数和偏置项,即coef_,intercept_
# 线性回归(最小二乘法)
from sklearn.linear_model import LinearRegression
import numpy as np
data=np.array([[0,14,8,0,5,-2,9,-3,399],
               [-4,10,6,4,-14,-2,-14,8,-144],
               [-1,-6,5,-12,3,-3,2,-2,30],
               [5,-2,3,10,5,11,4,-8,126],
               [-15,-15,-8,-15,7,-4,-12,2,-395],
               [11,-10,-2,4,3,-9,-6,7,-87],
               [-14,0,4,-3,5,10,13,7,422],
               [-3,-7,-2,-8,0,-6,-5,-9,-309]])
x,y = data[:,:-1],data[:,-1]

model = LinearRegression(fit_intercept=True) # 可指定偏置项
model.fit(x,y)

x_new=[[0,14,8,0,5,-2,9,-3]]
w = model.coef_
b = model.intercept_
# y_pred = model.predict(x_new)
# y_pred = w@x_new.T + b
y_pred = np.sum(w*x_new) + b
print(y_pred)

tips:由于该模型使用最小二乘法,需要进行逆矩阵的计算,在计算机中逆矩阵的运算会消耗大量的算力和内存空间,所以在实际应用中我们使用接下来介绍的梯度下降来求解参数。


THE END

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

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

相关文章

蓝牙耳机什么牌子好?倍思值得冲不?

最近总被问“蓝牙耳机什么牌子好”,作为踩过无数坑的资深耳机党,必须安利刚入手的倍思M2s Pro主动降噪蓝牙耳机!降噪、音质、颜值全都在线,性价比直接拉满。 -52dB降噪,通勤摸鱼神器 第一次开降噪就被惊到&#xff01…

机器学习-人与机器生数据的区分模型测试-数据处理 - 续

这里继续 机器学习-人与机器生数据的区分模型测试-数据处理1的内容 查看数据 中1的情况 #查看数据1的分布情况 one_ratio_list [] for col in data.columns:if col city or col target or col city2: # 跳过第一列continueelse:one_ratio data[col].mean() # 计算1值占…

ESP系列单片机选择指南:结合实际场景的最优选择方案

前言 在物联网(IoT)快速发展的今天,ESP系列单片机凭借其优异的无线连接能力和丰富的功能特性,已成为智能家居、智慧农业、工业自动化等领域的首选方案。本文将深入分析各款ESP芯片的特点,结合典型应用场景,帮助开发者做出最优选择…

特斯拉虚拟电厂:能源互联网时代的分布式革命

在双碳目标与能源转型的双重驱动下,特斯拉虚拟电厂(Virtual Power Plant, VPP)通过数字孪生技术与能源系统的深度融合,重构了传统电力系统的运行范式。本文从系统架构、工程实践、技术挑战三个维度,深度解析这一颠覆性…

【Linux笔记】nfs网络文件系统与autofs(nfsdata、autofs、autofs.conf、auto.master)

一、nfs概念 NFS(Network File System,网络文件系统) 是一种由 Sun Microsystems 于1984年开发的分布式文件系统协议,允许用户通过网络访问远程计算机上的文件,就像访问本地文件一样。它广泛应用于 Unix/Linux 系统&a…

博客打卡-求解流水线调度

题目如下: 有n个作业(编号为1~n)要在由两台机器M1和M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1上加工,然后在M2上加工。M1和M2加工作业i所需的时间分别为ai和bi(1≤i≤n)。 流水…

数据库blog1_信息(数据)的处理与效率提升

🌿信息的处理 🍂实际中离不开信息处理 ● 解决问题的建模 任何对问题的处理都可以看作数据的输入、处理、输出。 eg.一个项目中,用户点击信息由前端接收传递到后端处理后返回结果eg.面对一个问题,我们在搜集信息后做出处理与分析…

布隆过滤器介绍及其在大数据场景的应用

目录 布隆过滤器(Bloom Filter)介绍一、布隆过滤器的基本原理插入元素过程:查询元素过程: 二、布隆过滤器的特点三、误判率计算四、举例说明五、总结 Python版的简单布隆过滤器实现示例一、简单布隆过滤器Python示例二、布隆过滤器…

Fidder基本操作

1.抓取https请求 Fidder默认不能抓取https请求,我们必须通过相应的设置才能抓取https请求 1.选择tools下的option 2.选择https选项,并且勾选下面的选项 3.点击Actions导出信任证书到桌面(expert root certificate to desktop) 4.在浏览器中添加对应的证…

项目管理进阶:精读 78页华为项目管理高级培训教材【附全文阅读】

本文概述了华为项目管理(高级)课程的学习目标及学习方法。学习该课程后,学员应能: 1. **深刻理解项目管理**:掌握项目管理的基本概念与方法,构建项目管理思维框架。 2. **应用IBEST理念**:结合I…

[Java] 方法和数组

目录 1. 方法 1.2 什么是方法 1.2 方法的定义 1.3 方法的调用 1.4 方法的重载 1.5 递归 2. 一维数组 2.1 什么是数组 2.2 数组的创建 2.3 数组的初始化 2.4 遍历数组 2.5 引用数据类型 2.6 关于null 2.7 数组转字符串 2.8 数组元素的查找 2.9 数组的排序 2.10…

微软家各种copilot的AI产品:Github copilot、Microsoft copilot

背景 大家可能听到很多copilot,比如 Github Copilot,Microsoft Copilot、Microsoft 365 Copilot,有什么区别 Github Copilot:有网页版、有插件(idea、vscode等的插件),都是面向于程序员的。Mi…

回溯法理论基础 LeetCode 77. 组合 LeetCode 216.组合总和III LeetCode 17.电话号码的字母组合

目录 回溯法理论基础 回溯法 回溯法的效率 用回溯法解决的问题 如何理解回溯法 回溯法模板 LeetCode 77. 组合 回溯算法的剪枝操作 LeetCode 216.组合总和III LeetCode 17.电话号码的字母组合 回溯法理论基础 回溯法 回溯法也可以叫做回溯搜索法,它是一…

【进程控制二】进程替换和bash解释器

【进程控制二】进程替换 1.exec系列接口2.execl系列2.1execl接口2.2execlp接口2.3execle 3.execv系列3.1execv3.2总结 4.实现一个bash解释器4.1内建命令 通过fork创建的子进程,会继承父进程的代码和数据,因此本质上还是在执行父进程的代码 进程替换可以将…

JavaScript 的编译与执行原理

文章目录 前言🧠 一、JavaScript 编译与执行过程1. 编译阶段(发生在代码执行前)✅ 1.1 词法分析(Lexical Analysis)✅ 1.2 语法分析(Parsing)✅ 1.3 语义分析与生成执行上下文 🧰 二…

NHANES指标推荐:FMI

文章题目:Exploring the relationship between fat mass index and metabolic syndrome among cancer patients in the U.S: An NHANES analysis DOI:10.1038/s41598-025-90792-9 中文标题:探索美国癌症患者脂肪量指数与代谢综合征之间的关系…

【JDBC】JDBC常见错误处理方法及驱动的加载

MySQL8中数据库连接的四个参数有两个发生了变化 String driver "com.mysql.cj.jdbc.Driver"; String url "jdbc:mysql://127.0.0.1:3306/mydb?useSSLfalse&useUnicodetrue&characterEncodingutf8&serverTimezoneAsia/Shanghai"; 或者Strin…

车载以太网驱动智能化:域控架构设计与开发实践

title: 车载以太网驱动专用车智能化:域控架构设计与开发实践 date: 2023-12-01 categories: 新能源汽车 tags: [车载以太网, 电子电气架构, 域控架构, 专用车智能化, SOME/IP, AUTOSAR] 引言:专用车智能化转型的挑战与机遇 专用车作为城市建设与工业运输…

如何利用技术手段提升小学数学练习效率

在日常辅导孩子数学作业的过程中,我发现了一款比较实用的练习题生成工具。这个工具的安装包仅1.8MB大小,但基本能满足小学阶段的数学练习需求。 主要功能特点: 参数化出题 可自由设置数字范围(如10以内、100以内) 支…

BGP路由策略 基础实验

要求: 1.使用Preva1策略,确保R4通过R2到达192.168.10.0/24 2.用AS_Path策略,确保R4通过R3到达192.168.11.0/24 3.配置MED策略,确保R4通过R3到达192.168.12.0/24 4.使用Local Preference策略,确保R1通过R2到达192.168.1.0/24 …