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

机器学习——线性回归

回顾:
监督学习分为回归和分类
回归( Regression Prediction
  • 如何预测上海浦东的房价?
  • 未来的股票市场⾛向?
分类( Classification
  • 身⾼1.85m,体重100kg的男⼈穿什么尺码的T恤?
  • 根据肿瘤的体积、患者的年龄来判断良性或恶性?

线性回归的概念

        是⼀种通过属性的线性组合来进 ⾏预测的线性模型,其⽬的是找 到⼀条直线或者⼀个平⾯或者更⾼维的超平⾯,使得预测值与真实值之间的误差最⼩化。

         由上述所说,线性关系不仅仅只能存在 2 个变量(二维平面)。3 个变量时(三维空间),线性关系就是一个平面,4 个变量时(四维空间),线性关系就是一个体。以此类推…

        线性回归(LR)可分为:简单一元线性回归和多元线性回归,也就是我们平时接触的一次线性方程和多次线性方程,二者的主要区别也就是未知项的个数。 

接下来定义符号...

符号定义

m 代表训练集中样本的数量

n 代表特征的数量

x 代表特征/输入变量

y 代表目标变量/输出变量

(x,y)代表训练集中的样本

代表第i个观察样本

h 代表学习算法的解决方案或函数也称为假设(hypothesis)

,代表预测的值 

单变量线性回归(简单一元线性回归)

 

 这里可以设X0为1,

        损失函数(Loss Function)度量单样本预测的错误程度,损失函数值越⼩,模型就越好。常⽤的

        损失函数包括:0-1损失函数、平⽅损失函数、 绝对损失函数、对数损失函数等

        代价函数(Cost Function)度量全部样本集的平均误差。

        常⽤的代价函数包括均⽅误差、均⽅根误差、平均绝对误差等。

 

对于损失函数,这里采用平方和损:

(其中1/2是为了便于计算)

要找到一组w(w0,w1),使得残差平方和最小:

这里的代价函数是MSE:

 

如何求解此时的单变量线性回归?可以用最小二乘法、梯度下降等等,这里主要介绍梯度下降

梯度下降(单变量)

         梯度下降法的目标是最小化损失函数 J(w)。对于线性回归问题,通常使用均方误差(MSE)作为损失函数

        梯度是损失函数对参数的偏导数,表示损失函数在参数空间中的变化方向。对于线性回归,梯度计算如下: 

做法:

 

        对于其中的学习率选取要注意,不能太小,不然梯度下降太缓慢,也不能太大,可能导致无法收敛,甚至发散。

对于上述公式,结合我们前面的线性回归模型的公式:

那么:

最终:

        而对于梯度下降按照训练样本的使用,可以分为批量梯度下降、随机梯度下降、小批量梯度下降。

        对于批量梯度下降,梯度下降的每⼀步中,都⽤到了所有的训练样本,对于参数更新:

        对于随机梯度下降,梯度下降的每⼀步中,⽤到⼀个样本,在每⼀次计算之后便更新参数, ⽽不需要⾸先将所有的训练集求和,对于参数更新:

对于小批量梯度下降,梯度下降的每一步中,用到了一定批量的训练样本,每次计算常数b次训练实例,便更新一次参数w,对应参数更新:

多变量梯度下降(多元线性回归)

其实就是增加了X...其他与单变量一致...

当其中n=1时,就是单变量线性回归,当n>=时,

签连续

数据归一化/标准化

归一化(最大-最小规范化)

        将数据映射到[0,1]区间

        数据归⼀化的目的是使得各特 征对⽬标变量的影响⼀致,会将特 征数据进⾏伸缩变化,所以数据归 ⼀化是会改变特征数据分布的

Z-Score标准化

        处理后的数据均值为0,方差为1

        数据标准化为了不同特征之间具备 可⽐性,经过标准化变换之后的特征数 据分布没有发⽣改变。

为什么进行归一化/标准化?

提升模型精度:不同维度之间的 特征在数值上有⼀定⽐较性,可 以⼤⼤提⾼分类器的准确性。

加速模型收敛:最优解的寻优过程明 显会变得平缓,更容易正确的收敛到 最优解。 

所有数据都需要数据归一化/标准化?

需要做数据归⼀化/标准化

        线性模型,如基于距离度量的模型包括KNN(K近邻)、K-means聚类、感知 机和SVM。另外,线性回归类的⼏个模型⼀般情况下也是需要做数据归⼀化/ 标准化处理的。

不需要做数据归⼀化/标准化

        决策树、基于决策树的Boosting和Bagging等集成学习模型对于特征取值⼤ ⼩并不敏感,如随机森林、XGBoost、LightGBM等树模型,以及朴素⻉叶斯, 以上这些模型⼀般不需要做数据归⼀化/标准化处理 

正规方程 

        除了梯度下降,也可以利用正规方程来求解...

对于单变量,就是解决:

对于多变量,就是:

 最小二乘法(LSM)

 要找到一组w,使得 J(w)最小,也就是最小化

我们这里么将向量表达式转化为矩阵表达式,也就是:

其中的X为m行n+1列的矩阵(m是样本个数,n为特征个数),w为n+1行1列的矩阵(包含了w_0)Y为m行1列的矩阵,则:

 

 

 所以对于正规方程有:

TIPS:对于那些不可逆的矩阵,正规⽅程⽅法是不能⽤的。

这可能会出现欠拟合和过拟合现象。。。

过拟合处理

1.获得更多的训练数据

        使⽤更多的训练数据是解决过拟合问题最有效的⼿段,因为更多的样本能够让模 型学习到更多更有效的特征,减⼩噪声的影响。

2.降维

        即丢弃⼀些不能帮助我们正确预测的特征。可以是⼿⼯选择保留哪些特征,或者 使⽤⼀些模型选择的算法来帮忙(例如PCA)。

3.集成学习⽅法

        集成学习是把多个模型集成在⼀起,来降低单⼀模型的过拟合⻛险。

4.正则化

        正则化(regularization)的技术,保留所有的特征,但是减少参数的⼤⼩(magnitude),它可以改善或者减少过拟合问题。

 欠拟合处理

 1.添加新特征

        当特征不⾜或者现有特征与样本标签的相关性不强时,模型容易出现⽋拟 合。通过挖掘组合特征等新的特征,往往能够取得更好的效果。

2.增加模型复杂度

         简单模型的学习能⼒较差,通过增加模型的复杂度可以使模型拥有更强的 拟合能⼒。例如,在线性模型中添加⾼次项,在神经⽹络模型中增加⽹络层数 或神经元个数等。

3.减⼩正则化系数

        正则化是⽤来防⽌过拟合的,但当模型出现⽋拟合现象时,则需要有针对 性地减⼩正则化系数。

代价函数 

 

 对于其中λ的选择也很重要,λ过大可能出现:

此时梯度下降,能够得到:

其中:

常见的正则化

标签离qizho正规fan其中

其中L1正则化是指在损失函数中加入权值向量W的绝对值只和,功能是使得权重稀疏

L2是在损失函数中加入权值向量W的平方和,功能是使得权重平滑,能降低参数范数的总和 

 梯度下降与正规方程的比较

 

 线性回归的评价指标

 

 

对于指标,更具体的可以看我上章的内容... 

http://www.lqws.cn/news/562249.html

相关文章:

  • 数据结构与算法学习笔记(Acwing 提高课)----动态规划·单调队列优化DP
  • Requests源码分析:底层逻辑
  • 模板方法 + 策略接口
  • glog使用详解和基本使用示例
  • 数据结构:顺序表
  • Lua现学现卖
  • Java代码阅读题
  • 06-three.js 创建自己的缓冲几何体
  • 某音Web端消息体ProtoBuf结构解析
  • 【网络安全】网络安全中的离散数学
  • 机器学习算法-K近邻算法-KNN
  • BUUCTF [ACTF新生赛2020]music 1
  • SpringMVC系列(五)(响应实验以及Restful架构风格(上))
  • 【学习】《算法图解》第七章学习笔记:树
  • [论文阅读] 软件工程 | 微前端在电商领域的实践:一项案例研究的深度解析
  • Linux软件的安装目录
  • 【面板数据】省级电商指数与地级市电子商务交易额数据集(1990-2022年)
  • OpenLayers 下载地图切片
  • Docker安装MinIO
  • 概述-4-通用语法及分类
  • 【go】初学者入门环境配置,GOPATH,GOROOT,GOCACHE,以及GoLand使用配置注意
  • 案例开发 - 日程管理系统 - 第一期
  • Redis 实现分布式锁
  • 【C++进阶】--- 继承
  • 鸿蒙 Grid 与 GridItem 深度解析:二维网格布局解决方案
  • 复杂驱动开发-TLE9471的休眠流程与定时唤醒
  • Python训练营-Day44-预训练模型
  • Java中的异常及异常处理
  • JDK17的GC调优
  • SpringCloud Stream 使用