机器学习(三):线性模型

article/2025/9/18 5:38:22

在这里插入图片描述

📢📢📢📣📣📣
🌻🌻🌻Hello,大家好我叫是Dream呀,一个有趣的Python博主,多多关照😜😜😜
🏅🏅🏅Python领域优质创作者,欢迎大家找我合作学习(文末有VX 想进学习交流群or学习资料 欢迎+++)
💕 入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!🚀🚀🚀
💓最后,愿我们都能在看不到的地方闪闪发光,一起加油进步🍺🍺🍺
🍉🍉🍉“一万次悲伤,依然会有Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~🌈🌈🌈
🌟🌟🌟✨✨✨

前言: 机器学习是目前信息技术中最激动人心的方向之一,其应用已经深入到生活的各个层面且与普通人的日常生活密切相关。🍻🍻🍻
💞作为刚入门机器学习的Dream,同样对机器学习有着极高的兴趣
💞本文为清华大学最新出版的《机器学习》教材的Learning Notes
本系列课程主要来整合其书中的一些知识点以及自己一点浅陋的理解,从小白的角度去一步步探究机器学习的奥秘! 💌💌如果喜欢本专栏的话,欢迎订阅:机器学习笔记~

导语:
谈及线性模型,其实我们很早就已经与它打过交道,还记得高中数学必修3课本中那个顽皮的“最小二乘法”吗?这就是线性模型的经典算法之一:根据给定的(x,y)点对,求出一条与这些点拟合效果最好的直线y=ax+b,之前我们利用下面的公式便可以计算出拟合直线的系数a,b(3.1中给出了具体的计算过程),从而对于一个新的x,可以预测它所对应的y值。前面我们提到:在机器学习的术语中,当预测值为连续值时,称为“回归问题”,离散值时为“分类问题”。本篇先从线性回归任务开始,接着讨论分类和多分类问题。

3.1 线性回归

线性回归问题就是试图学到一个线性模型尽可能准确地预测新样本的输出值,例如:通过历年的人口数据预测2017年人口数量。在这类问题中,往往我们会先得到一系列的有标记数据,例如:2000–>13亿…2016–>15亿,这时输入的属性只有一个,即年份;也有输入多属性的情形,假设我们预测一个人的收入,这时输入的属性值就不止一个了,例如:(学历,年龄,性别,颜值,身高,体重)–>15k。

有时这些输入的属性值并不能直接被我们的学习模型所用,需要进行相应的处理,对于连续值的属性,一般都可以被学习器所用,有时会根据具体的情形作相应的预处理,例如:归一化等;对于离散值的属性,可作下面的处理:

  1. 若属性值之间存在 “序关系”,则可以将其转化为连续值,例如:身高属性分为“高”“中等”“矮”,可转化为数值:{1, 0.5, 0}

  2. 若属性值之间不存在“序关系”,则通常将其转化为向量的形式,例如:性别属性分为“男”“女”,可转化为二维向量:{(1,0),(0,1)}

(1)当输入属性只有一个的时候,就是最简单的情形,也就是我们高中时最熟悉的 “最小二乘法”(Euclidean distance),首先计算出每个样本预测值与真实值之间的误差并求和,通过最小化均方误差MSE,使用求偏导等于零的方法计算出拟合直线y=wx+b的两个参数w和b,计算过程如下图所示:
在这里插入图片描述
(2)当输入属性有多个的时候,例如对于一个样本有d个属性{(x1,x2…xd),y},则y=wx+b需要写成:
在这里插入图片描述
通常对于多元问题,常常使用矩阵的形式来表示数据。在本问题中,将具有m个样本的数据集表示成矩阵X,将系数w与b合并成一个列向量,这样每个样本的预测值以及所有样本的均方误差最小化就可以写成下面的形式:

在这里插入图片描述
在这里插入图片描述
同样地,我们使用最小二乘法对w和b进行估计,令均方误差的求导等于0,需要注意的是,当一个矩阵的行列式不等于0时,我们才可能对其求逆,因此对于下式,我们需要考虑矩阵(X的转置*X)的行列式是否为0若不为0,则可以求出其解,若为0,则需要使用其它的方法进行计算,书中提到了引入正则化,此处不进行深入。
在这里插入图片描述
另一方面,有时像上面这种原始的线性回归可能并不能满足需求,例如:y值并不是线性变化,而是在指数尺度上变化。这时我们可以采用线性模型来逼近y的衍生物,例如lny,这时衍生的线性模型如下所示,实际上就是相当于将指数曲线投影在一条直线上,如下图所示:
在这里插入图片描述
更一般地,考虑所有y的衍生物的情形,就得到了“广义的线性模型”(generalized linear model),其中,g(*)称为联系函数(link function)。
在这里插入图片描述

3.2 线性几率回归

回归就是通过输入的属性值得到一个预测值,利用上述广义线性模型的特征,是否可以通过一个联系函数,将预测值转化为离散值从而进行分类呢?线性几率回归正是研究这样的问题。对数几率引入了一个对数几率函数(logistic function),将预测值投影到0-1之间,从而将线性回归问题转化为二分类问题。
在这里插入图片描述
在这里插入图片描述

若将y看做样本为正例的概率,(1-y)看做样本为反例的概率,则上式实际上使用线性回归模型的预测结果器逼近真实标记的对数几率。因此这个模型称为“对数几率回归”(logistic regression),也有一些书籍称之为“逻辑回归”。下面使用最大似然估计的方法来计算出w和b两个参数的取值,下面只列出求解的思路,不列出具体的计算过程。
在这里插入图片描述
在这里插入图片描述

3.3 线性判别分析

线性判别分析(Linear Discriminant Analysis,简称LDA),其基本思想是:将训练样本投影到一条直线上,使得同类的样例尽可能近,不同类的样例尽可能远。如图所示:
在这里插入图片描述
在这里插入图片描述

想让同类样本点的投影点尽可能接近,不同类样本点投影之间尽可能远,即:让各类的协方差之和尽可能小,不用类之间中心的距离尽可能大。基于这样的考虑,LDA定义了两个散度矩阵。

  • 类内散度矩阵(within-class scatter matrix)
    在这里插入图片描述
  • 类间散度矩阵(between-class scaltter matrix)

在这里插入图片描述
因此得到了LDA的最大化目标:“广义瑞利商”(generalized Rayleigh quotient)。
在这里插入图片描述
从而分类问题转化为最优化求解w的问题,当求解出w后,对新的样本进行分类时,只需将该样本点投影到这条直线上,根据与各个类别的中心值进行比较,从而判定出新样本与哪个类别距离最近。求解w的方法如下所示,使用的方法为λ乘子
在这里插入图片描述
若将w看做一个投影矩阵,类似PCA的思想,则LDA可将样本投影到N-1维空间(N为类簇数),投影的过程使用了类别信息(标记信息),因此LDA也常被视为一种经典的监督降维技术

3.4 多分类学习

现实中我们经常遇到不只两个类别的分类问题,即多分类问题,在这种情形下,我们常常运用“拆分”的策略,通过多个二分类学习器来解决多分类问题,即将多分类问题拆解为多个二分类问题训练出多个二分类学习器,最后将多个分类结果进行集成得出结论。最为经典的拆分策略有三种:“一对一”(OvO)、“一对其余”(OvR)和“多对多”(MvM),核心思想与示意图如下所示。

  1. OvO:给定数据集D,假定其中有N个真实类别,将这N个类别进行两两配对(一个正类/一个反类),从而产生N(N-1)/2个二分类学习器,在测试阶段,将新样本放入所有的二分类学习器中测试,得出N(N-1)个结果,最终通过投票产生最终的分类结果

  2. OvM:给定数据集D,假定其中有N个真实类别,每次取出一个类作为正类,剩余的所有类别作为一个新的反类,从而产生N个二分类学习器,在测试阶段,得出N个结果,若仅有一个学习器预测为正类,则对应的类标作为最终分类结果。

  3. MvM:给定数据集D,假定其中有N个真实类别,每次取若干个类作为正类,若干个类作为反类(通过ECOC码给出,编码),若进行了M次划分,则生成了M个二分类学习器,在测试阶段(解码),得出M个结果组成一个新的码,最终通过计算海明/欧式距离选择距离最小的类别作为最终分类结果。

请添加图片描述
在这里插入图片描述

3.5 类别不平衡问题

类别不平衡(class-imbanlance)就是指分类问题中不同类别的训练样本相差悬殊的情况,例如正例有900个,而反例只有100个,这个时候我们就需要进行相应的处理来平衡这个问题。常见的做法有三种:

  1. 在训练样本较多的类别中进行**“欠采样”**(undersampling),比如从正例中采出100个,常见的算法有:EasyEnsemble。
  2. 在训练样本较少的类别中进行**“过采样”**(oversampling),例如通过对反例中的数据进行插值,来产生额外的反例,常见的算法有SMOTE。
  3. 直接基于原数据集进行学习,对预测值进行“再缩放”处理。其中再缩放也是代价敏感学习的基础。
    在这里插入图片描述

🌟 The best time to plant a tree is ten years ago, followed by now! 🌟

🌲🌲🌲 最后,作者很感谢能够阅读到这里的读者。如果看完觉得好的话,还请轻轻点一下赞或者分享给更多的人,你们的鼓励就是作者继续行文的动力。
❤️❤️❤️如果你喜欢的话,就不要吝惜你的一键三连了,我们下期再见~
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/qgER8Kfi.shtml

相关文章

机器学习基础:模型评估(下)

目录 1. 引言 2. 进一步评估 3. 机器学习中的偏差和方差种类 3.1 过拟合 3.2 欠拟合 3.3 训练曲线观察泛化性 3.4 模型偏差和方差(bias and variance) 3.4.1 偏差 Bias 3.4.2 方差 Variance 3.4.3 方差偏差总结 4. 模型的泛化性(G…

机器学习基础模型

文章目录 朴素贝叶斯——概率模型朴素贝叶斯分类原理贝叶斯定理的公式朴素贝叶斯的优缺点以及优化 决策树——不需要进行归一化决策树基本模型介绍?决策树的特性?信息增益和信息增益比?有什么不同(信息增益作为分类指标有什么问题…

3.1 机器学习模型

3.1 机器学习模型 李沐 B站:https://space.bilibili.com/1567748478/channel/collectiondetail?sid28144 课程主页:https://c.d2l.ai/stanford-cs329p/ 1. 机器学习算法类型: 监督学习:顾名思义就是监督着模型去学习,…

机器学习之神经网络学习及其模型

1、神经元模型 历史上,科学家一直希望模拟人的大脑,造出可以思考的机器。人为什么能够思考?科学家发现,原因在于人体的神经网络。 神经网络最基本的成分是神经元模型 其中,W表示的是向量,代表的是权重&am…

机器学习建模分析

机器学习 机器学习分类 1、递进关系:深度学习–>机器学习–>人工智能 2、机器学习任务分为两大类方法: (1)有监督的学习:利用经验数据,学习表示事物的模型,关注利用模型预测未来&#x…

机器学习——神经网络模型

在“M-P神经元模型”中,神经元接收到来自个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。常用Sigmoid函数…

机器学习模型

一、LR 1. 逻辑回归与线性回归的区别 引入sigmoid函数映射,使样本映射到[0,1]之间的数值,从而来处理分类问题。是广义线性模型,本质上还是线性回归。逻辑回归是假设变量服从伯努利分布,线性回归假设变量服从高斯分布。逻辑回归是…

我们如何学习 2:如何建立模型

我们如何学习 2:如何建立模型 战略性资源学习:构建一颗知识树提炼概念建立连接结构分析纵向拆解横向拆解 加强连接 战略性资源 每个人都有天生的学习能力,所以都能学习 —— 但是学习了如何学习,能让我们更聪明、更高效地学习 如…

机器学习中的模型是什么?

在机器学习中,模型是指一种数学函数,它能够将输入数据映射到预测输出。模型是机器学习算法的核心部分,通过学习训练数据来自适应地调整模型参数,以最小化预测输出与真实标签之间的误差。 机器学习中的模型是什么? 机器…

机器学习 —— 简单模型的构建

文章目录 对于简单线性模型的机器学习对简单像素图片的学习构建简单的卷积神经网络一维卷积二维卷积三维卷积 对于简单线性模型的机器学习 对于以下对应 x x x, y y y的值来预测当 x 10 x 10 x10时 y y y的值 xy-1-30-111233547 通过找规律发现这是一个关于 y 2 x − 1 y…

机器学习——线性模型学习

线性回归 线性回归多元线性回归对数线性回归对数几率回归线性判别分析(LDA)多分类任务中的LDA 多分类学习OvR、OvOMvM 线性回归 主要目标确定 如何确定w和b呢?关键在于如何衡量f(x)与y的差别 此种衡量误差的方法称为均方误差也称为欧式距离…

机器学习-模型训练

目录 1.逻辑回归模型 2. KNN模型 3.随机森林模型 4.决策树模型 5.贝叶斯模型 6.支持向量机模型 步骤: 导入必要的第三方库读取数据划分数据集可选操作,引入停用词,当作参数传入特征提取器特征提取提取的向量当作特征传入逻辑回归模型…

机器学习——训练模型

机器学习——训练模型 线性回归 y ^ h Θ ( x ) Θ ∗ x 其中 Θ 是模型的参数向量,其中包括偏置项 Θ 0 和特征权重 Θ 1 至 Θ n x 是实例的特征向量,包括从 x 0 至 x n , x 0 始终为 0 Θ ∗ x 是向量 Θ 与 x 点积 h Θ 是假设函数,使…

从机器学习到大模型(零基础)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、机器学习 1.监督学习 (1)线性回归模型 (2)多元线性回归模型 (3)二元分类模型 &a…

模型学习

LeNet AlexNet LeNet: 在大的真实数据集上的表现并不尽如⼈意。 1.神经网络计算复杂。 2.还没有⼤量深⼊研究参数初始化和⾮凸优化算法等诸多领域。 神经网络的特征提取:通过学习得到数据的多级表征,并逐级表示越来越抽象的概念或模式。 神经网络发展…

建模师经验分享:模型学习方法!零基础小白必备知识速看

游戏建模初学者大多存在三个大问题,一是工具的使用不够熟练,甚至有些功能还不知道,二是对布线的规范没有太大的要求和了解,三是对游戏制作流程不清晰和板绘下的功力不够,对贴图制作用工少,甚至有些人还处于一直做白膜的阶段。 那么对大多说想要要学游戏建模的学习者想要…

vue3实现抽屉组件中实现上一条和下一条

简单的模拟在用户查看学员详情时,点击上一条和下一条实现数据切换。 实现逻辑:首先将点击的用户的下标传给抽屉组件,然后监听下标的变化,判断是否为最后一个用户,是就设置样式并禁用按钮。上一条和下一条按钮绑定点击…

SQL 获取下一条数据

这里假设有一张员工表,有三个字段 (ID,员工姓名,年龄): CREATE TABLE [dbo].[Employee] ( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [varchar](50) NOT NULL, [Age] [int] NOT NULL ) ON [PRIMARY] 这…

点击下一条

<view class"content"><view class"text-area"><button type"primary" click"next()">点击下一条</button></view><view class"title">{{title}}</view> </view><scrip…

关于MySqL数据库查询当前数据的上一条和下一条数据

如上图所示第14行数据的上一条和下一条&#xff0c;id都不是连续的&#xff0c;因此意图通过id-1或者id1是肯定行不通的&#xff0c;那么怎么办呢&#xff1f;其实也简单就是查询比id14小的元素中的最大值&#xff0c;比id14大的元素中的最小值。 select * from tb_user where…