当前位置: 首页 > news >正文

机器学习-线性模型

目录

线性模型

1、线性回归:

2、对数几率回归:

3、线性判别分析:

4、多分类学习:

5、类别不平衡问题:

基本数理知识补充:

损失函数:

凹凸函数

梯度下降


线性模型

        线性模型形式简单、易于建模,(如简单的二元一次方程线性函数,复杂的线性函数,多维变量与因变量的关系)却蕴涵着机器学习中的一些重要的基本思想。许多功能更为强大的线性模型可以在线性模型的基础上通过引入层级结构或者高维映射而得。 几种经典的线性模型(线性回归、对数几率回归、线性判别分析、多分类学习)

1、线性回归:

根据已有的数据确定一个函数然后预测,怎样衡量函数的准确度呢,均方误差是常用的,几何意义上是求得一条线使得所有的样本到直线的欧式距离之和最小,基于均方误差最小化进行模型求解的方法称为最小二乘法,以单变量为例f(x)=wx+b,求解w和b使得m代表有m个数据,通过使得所有数据误差就和最小的w,b就是所要求得的最佳参数。

将求解公式等于0可求得w和b的最优封闭解

由此多元线性回归的参数求解以同样的思路求解,多参数转为矩阵涉及到矩阵逆的计算,在不满秩的时候经常会出现不止一组解使得均方误差最小,涉及到选择偏好,处理时加入正则化。也可以使用线性回归的衍生物,即让得到的模型和另外的函数产生关系lny=wx+b,这其实是输入空间到输出的一个非线性预测,对数线性回归。

2、对数几率回归:

二分类任务的结果[0,1],而一般函数的输出是实值,单位阶跃函数以一定阈值划分类别。但是单位阶跃函数不连续不能直接作用于函数的输出对数几率函数常用的代替函数对数几率函数(在神经网络里有重要的作用)是一种sigmoid函数(S型函数)将z值转化为一个接近0或1的y值。使用最大似然估计的方法来计算出w和b两个参数的取值。

3、线性判别分析:

(LDA)经典的线性学习方法,基本思想是:将训练样本投影到一条直线上,使得同类的样例尽可能近,不同类的样例尽可能远。如图所示:

想让同类样本点的投影点尽可能接近,不同类样本点投影之间尽可能远,即:让各类的协方差之和尽可能小,不用类之间中心的距离尽可能大。基于这样的考虑,LDA定义了两个散度矩阵。如图:类内散度矩阵(越小越好) 类间散度矩阵(越大越好),最后得到了LDA的最大化目标:“广义瑞利商”

最优化求解w的问题,当求解出w后对新的样本进行分类时,只需将该样本点投影到这条直线上,根据与各个类别的中心值进行比较,从而判定出新样本与哪个类别距离最近。

4、多分类学习:

多分类的问题常常是使用差分策略,通过二分类学习来解决多分类问题,即将多分类问题拆解为多个二分类训练二分类学习器最后通过继承得到结果,最经典拆分策略有三种:“一对一”(OvO)、“一对其余”(OvR)和“多对多”(MvM),核心思想与示意图如下所示:

1)OvO:给定数据集D假定其中有N个真实类别,将这N个类别进行两两配对(一个正类/一个反类),从而产生N(N-1)/2个二分类学习器,在测试阶段,将新样本放入所有的二分类学习器中测试,得出N(N-1)个结果,最终通过投票产生最终的分类结果。训练N个分类器,开销较大。
 2)OvM:给定数据集D假定其中有N个真实类别,每次取出一个类作为正类,剩余的所有类别作为一个新的反类,从而产生N个二分类学习器,在测试阶段得出N个结果若仅有一个学习器预测为正类,则对应的类标作为最终分类结果。优时也要考虑预置置信度的大小确定类别。
  3)MvM:给定数据集D假定其中有N个真实类别,每次取若干个类作为正类,若干个类作为反类(通过ECOC码给出编码),若进行了M次划分,则生成了M个二分类学习器,在测试阶段(解码),得出M个结果组成一个新的码,最终通过计算海明/欧式距离选择距离最小的类别作为最终分类结果。

5、类别不平衡问题:

指分类问题中不同类别的训练样本相差悬殊的情况,在分类是实际上是输出的y值是与一个阈值比较,y反应的是一个类别被划分的可能性大小,阈值是0.5表明正反两类结果可能性一致,一般情况下假设训练集无偏差的,因此观测几率就代表真实几率,则如果出现,则预测就为正例,但是预测其实依靠y/1-y是否大于来判断,这要求对预测值进行微调,即根据此公式判断是实际上是依靠,,但是此时依据假设样本绝对均匀,但是这种假设不成立,需要多样本尽可能处理,常见的处理这种问题的做法有三种:在训练样本较:

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

具体代码示例 

python3+TensorFlow 2.x(二) 回归模型_tensorflow2的线性回归模型举例-CSDN博客

基本数理知识补充:

损失函数:

是用来衡量模型预测结果与真实标签之间差距的函数。它告诉我们模型预测的“错误”有多大。损失函数的值越小,说明模型预测越准确。训练模型的目标就是通过优化算法(如梯度下降)最小化损失函数。

凹凸函数

凸函数:函数图像呈“碗”形,任何两点连线都在函数图像上方。对凸函数,局部最小值就是全局最小值。梯度下降在凸函数上能保证找到全局最优解。

非凸函数:可能有多个局部极小值,梯度下降可能陷入局部最优。

梯度下降

导数:导数表示函数在某一点的瞬时变化率。简单来说:导数告诉我们函数曲线在某点的切线斜率。斜率正,函数在该点往上升;斜率负,函数往下降。斜率为零,函数在该点可能达到极值(最大值或最小值)。

梯度下降是一种迭代优化算法,用于寻找函数的最小值(或最大值,通常最小值)。核心思想:从一个初始点开始,计算函数在该点的梯度(导数)。梯度指示函数上升最快的方向,反方向就是下降最快的方向。沿着梯度的反方向移动一定步长(学习率),函数值会减小。不断重复这个过程,最终会收敛到函数的局部最小值。

学习率大小的影响

相关文章:

  • 做网站5年工资多少seo站内优化站外优化
  • 包头市做网站视频号直播推广二维码
  • 分销系统价格多少seo优化工作内容
  • 郑州专业网站制作服务报价网站seo优化是什么
  • wordpress mobile主题seo快速排名软件
  • 免费建站并且绑定域名百度浏览器入口
  • 强化学习概述
  • 第八课:大白话教你逻辑回归
  • QT 学习笔记摘要(三)
  • 使用GithubActions和腾讯CloudBase自动发布静态网页
  • Excel基础:选择和移动
  • 从零构建 gRPC 跨语言通信:C++ 服务端与 C# 客户端完整指南
  • Python Web开发领域异步 I/O库之sanic使用详解
  • 教育培训教学通用PPT模版
  • LVS-DR负载均衡群集深度实践:高性能架构设计与排障指南
  • 完成国产化替代!昆明卷烟厂用时序数据库 TDengine 重塑工业时序数据平台
  • 【机器学习深度学习】典型的模型训练过程
  • 【深度学习新浪潮】什么是上下文工程?
  • (LeetCode 面试经典 150 题) 151. 反转字符串中的单词(栈+字符串)
  • 建筑供配电系统识图一防雷接地系统
  • <六> k8s + promtail + loki + grafana初探
  • 用wordpress建日语外贸网站的优势
  • SpringBoot 的 jar 包为什么可以直接运行?
  • 【笔记——李沐动手学深度学习】2.3 线性代数
  • 221. 最大正方形
  • webpack5 css-loader 配置项中的modules