MLA Review之五:回归

2024-05-09 07:58
文章标签 回归 之五 review mla

本文主要是介绍MLA Review之五:回归,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

回到回归的正题,回归问题是机器学习领域中应用的比较广的一种方法,不过我觉得大部分的回归模型都是广义线性模型,在Andrew NG的课程中,对广义线性模型做了比较详细的推导,这篇文章的内容是,线性回归、局部加权回归、岭回归以及前向逐步回归,除了前向逐步回归之外,其他的都是广义线性回归模型,基本思路都是 1,确定损失函数 2,使用梯度下降(或者梯度上升)求解权重参数,算是套路,而这两种套路使用Python都比较容易实现,就是使用了矩阵运算,代码量也不大,所以这篇文章就简单说说各种回归,而不实现代码,代码和之前的logistic回归计算过程都是一样的

 

言归正传

 

一、线性回归

 

线性回归方式很简单,公式如下:

 

z=w0+w1*x1+w2*x2+...+wn*xn

损失函数: h=(1/2)*(z-y)^2  其中h是训练数据的真正结果值

方法:梯度下降法

 

二、局部加权回归

 

线性回归有一些问题,就是如果训练数据如果有些数据偏差特别大,这回造成最后训练的模型可能对整体数据都不具备很好的准确性,因此又提出了一种新的回归模型,也就是局部加权回归(LWR),局部加权回归实质上是对于需要预测的点,只是根据其附近的点进行训练,其他的没有改变,只是改变了其损失函数,对于比如对于点P(x0,y0)的预测:

 

z=w0+w1*x1+w2*x2+...+wn*xn

损失函数: h=exp(|x-x0|/(-2k^2)) * (1/2)*(z-y)^2  其中h是训练数据的真正结果值

方法:梯度下降法

 

说道为什么局部加权回归能够达到其效果,可以从损失函数前面加的exp(|x-x0|/(-2k^2)) 函数看出,如果训练数据点距离需要预测的点比较远,那么该值就会趋向于0,那么也就是说,在最后进行梯度下降的时候其对权重的变化就影响很少,相当于可以说,只有预测点周边的训练数据才会对最后的权重产生重要的影响

 

但是其实局部加权回归容易出现过拟合现象,过拟合现象很明显:太关注局部的训练数据,忽略了全局数据,如果预测点在出现偏差的训练数据附近,那么预测值会偏差很大,但是局部加权回归还是对训练数据拟合的比较好,这也是局部加权回归的优点,只是容易出现过拟合现象

 

三、岭回归

 

岭回归着手解决的是训练数据少于预测数据的问题,其实对于之前的回归,有一个前提条件就是矩阵X是列满秩矩阵,如果训练数据比较少,那么就容易出现X是非列满秩矩阵,导致的问题是xTx是一个奇异矩阵,因此需要加入一个单位矩阵进行变换成非奇异矩阵,具体的来说,公式如下:

 

 

z=w0+w1*x1+w2*x2+...+wn*xn

损失函数:

                 其中,I是一个单位矩阵,通常该矩阵会加个lambda参数来调节,单位矩阵I的秩是训练参数的长度

 

方法:梯度下降法

 

 

 

四、前向逐步回归

 

前向逐步回归其实很简单,就是对于初始化的权重,在每一次迭代中,都略微增加或者减少一些值,然后计算整个损失函数的值,如果损失函数变小了的话,就将权重更新,如果没有减小,就继续下一次迭代

 

前向逐步回归其实说白了就是去一步一步尝试,这种方法可能达到局部最优但是很难达到全局最优,看过一些书说是关于凸函数的问题,这点我不太明白,所以就不详述

这篇关于MLA Review之五:回归的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972832

相关文章

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^

用Python实现时间序列模型实战——Day 14: 向量自回归模型 (VAR) 与向量误差修正模型 (VECM)

一、学习内容 1. 向量自回归模型 (VAR) 的基本概念与应用 向量自回归模型 (VAR) 是多元时间序列分析中的一种模型,用于捕捉多个变量之间的相互依赖关系。与单变量自回归模型不同,VAR 模型将多个时间序列作为向量输入,同时对这些变量进行回归分析。 VAR 模型的一般形式为: 其中: ​ 是时间  的变量向量。 是常数向量。​ 是每个时间滞后的回归系数矩阵。​ 是误差项向量,假

J.U.C Review - ThreadLocal原理源码分析

文章目录 一致性问题一致性问题简介解决一致性问题的常见方法 ThreadLocal什么是 ThreadLocalThreadLocal 的 线程模型ThreadLocal 的工作原理使用场景ThreadLocal 的基本 API1. 构造函数 `ThreadLocal()`2. 初始化方法 `initialValue()`3. 访问器 `get()` 和 `set()`4. 回收方法 `re

深度学习与大模型第3课:线性回归模型的构建与训练

文章目录 使用Python实现线性回归:从基础到scikit-learn1. 环境准备2. 数据准备和可视化3. 使用numpy实现线性回归4. 使用模型进行预测5. 可视化预测结果6. 使用scikit-learn实现线性回归7. 梯度下降法8. 随机梯度下降和小批量梯度下降9. 比较不同的梯度下降方法总结 使用Python实现线性回归:从基础到scikit-learn 线性

【python因果推断库11】工具变量回归与使用 pymc 验证工具变量4

目录  Wald 估计与简单控制回归的比较 CausalPy 和 多变量模型 感兴趣的系数 复杂化工具变量公式  Wald 估计与简单控制回归的比较 但现在我们可以将这个估计与仅包含教育作为控制变量的简单回归进行比较。 naive_reg_model, idata_reg = make_reg_model(covariate_df.assign(education=df[

什么是GPT-3的自回归架构?为什么GPT-3无需梯度更新和微调

文章目录 知识回顾GPT-3的自回归架构何为自回归架构为什么架构会影响任务表现自回归架构的局限性与双向模型的对比小结 为何无需梯度更新和微调为什么不需要怎么做到不需要 🍃作者介绍:双非本科大四网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发,目前开始人工智能领域相关知识的学习 🦅个人主页:@逐梦苍穹 📕所属专栏:人工智能 🌻gitee地址:x

回归预测 | MATLAB实现PSO-LSTM(粒子群优化长短期记忆神经网络)多输入单输出

回归预测 | MATLAB实现PSO-LSTM(粒子群优化长短期记忆神经网络)多输入单输出 目录 回归预测 | MATLAB实现PSO-LSTM(粒子群优化长短期记忆神经网络)多输入单输出预测效果基本介绍模型介绍PSO模型LSTM模型PSO-LSTM模型 程序设计参考资料致谢 预测效果 Matlab实现PSO-LSTM多变量回归预测 1.input和outpu

【ML--04】第四课 logistic回归

1、什么是逻辑回归? 当要预测的y值不是连续的实数(连续变量),而是定性变量(离散变量),例如某个客户是否购买某件商品,这时线性回归模型不能直接作用,我们就需要用到logistic模型。 逻辑回归是一种分类的算法,它用给定的输入变量(X)来预测二元的结果(Y)(1/0,是/不是,真/假)。我们一般用虚拟变量来表示二元/类别结果。你可以把逻辑回归看成一种特殊的线性回归,只是因为最后的结果是类别变

逻辑回归与线性回归的目标函数和应用场景比较

概述 逻辑回归和线性回归是两种常用的预测模型,它们在目标函数和应用场景上存在显著差异。本文将详细比较这两种回归模型,并提供相应的代码示例。 线性回归 线性回归是一种预测连续数值的模型,其目标是找到特征( X )和目标变量( Y )之间的线性关系。线性回归的目标函数是最小化预测值和实际值之间的平方差,即均方误差(MSE)。 目标函数 线性回归的损失函数是均方误差: [ J(\theta)

J.U.C Review - Stream并行计算原理源码分析

文章目录 Java 8 Stream简介Stream单线程串行计算Stream多线程并行计算源码分析Stream并行计算原理Stream并行计算的性能提升 Java 8 Stream简介 自Java 8推出以来,开发者可以使用Stream接口和lambda表达式实现流式计算。这种编程风格不仅简化了对集合操作的代码,还提高了代码的可读性和性能。 Stream接口提供了多种集合