首页 > 编程语言 >【机器学习算法】回归算法(上)

【机器学习算法】回归算法(上)

时间:2024-05-31 23:59:21浏览次数:22  
标签:机器 函数 回归 算法 参数 拟合 线性 模型

本文介绍几种常见的线性回归算法

目录

线性回归和多元线性回归

多项式回归与一般的线性回归

鲁棒回归

过拟合与正则化

Lasso回归

Ridge回归


线性回归和多元线性回归

        线性回归是一种统计学方法,用于建立一个或多个自变量(解释变量)与一个因变量(响应变量)之间的线性关系模型。其基本形式可以表示为:

        其中,y 是因变量,(x1,x2,…,xn)是自变量,(β0,β1,…,βn)是模型参数,ϵ是误差项。

线性回归的核心目标是确定一组参数,这些参数可以使损失函数(也称为目标函数或代价函数)达到最小化。

        在线性回归中,最常用的损失函数是均方误差(Mean Squared Error, MSE),它是观测值与模型预测值之差的平方的平均值。均方误差的公式如下:

\mathrm{MSE}=\frac{1}{n}\sum_{i=1}^{n}\left(y_i-\left(\beta_0+\beta_1x_{i1}+\beta_2x_{i2}+\ldots+\beta_nx_{in}\right)\right)^2

        线性回归模型通过调整参数  β=(β0,β1,…,βn)来最小化MSE,通常使用最小二乘法(Least Squares Method)来解决这个问题。最小二乘法寻找参数 β 的值,使得损失函数的导数等于零,从而找到损失函数的最小值。得到所有的参数β。

        或者使用梯度下降法(十分常用,来求参数的值,在以后会慢慢讲)也可以得到参数的值。

多项式回归与一般的线性回归

        将数据进行变换是实现多项式回归的一种方法。在多项式回归中,我们不仅仅考虑自变量  x 的一次方,还考虑平方项、立方项等等

        以及它们的组合。这样做可以帮助我们捕捉数据中的非线性关系。

        更一般的,线性模型的定义是基于模型参数(系数)的线性组合,即使基函数是非线性的,只要最终模型参数保持线性,它仍然可以被认为是线性模型。

线性模型可以表示为:

f\left(y\right)=\beta_0+\beta_1\phi_1\left(x\right)+\beta_2\phi_2\left(x\right)+\ldots+\beta_n\phi_n\left(x\right)

        其中,(β0,β1,,βn)是模型参数,而ϕ1x,ϕ2x,,ϕnx是可能非线性的基函数。只要参数  β 之间是线性的(即没有参数的乘积或更复杂的非线性组合),模型就保持线性。在实际操作中,用“原来的变量”线性或非线性组合出新变量(用一些编程中十分简便),然后用老变量和新变量再送去回归

        基函数的选择非常灵活,可以是非线性的,如:

        多项式基函数:x,x^2,x^3,\ldots

        三角函数基函数:\sin{\left(x\right)},\cos{\left(x\right)}

        指数函数基函数:e^{kx}

        径向基函数:如高斯径向基函数 e^{-\frac{\left(x-c\right)^2}{2\sigma^2}}

        或者一些变量的交叉项:x_1x_2

鲁棒回归

        鲁棒回归(Robust Regression)是一种特殊的回归方法,它旨在减少异常值(outliers)和噪声对回归模型的影响。在传统的线性回归中,模型试图最小化所有数据点的预测误差之和,这使得异常值对模型参数有很大的影响。鲁棒回归通过最小化一个对异常值不敏感的损失函数来解决这个问题

        RANSAC是一种流行的鲁棒回归方法,特别用于拟合线性模型。RANSAC算法的基本思想是迭代地从数据集中随机选择一个小的子集,使用这个子集来拟合模型,然后使用这个模型来确定数据集中的哪些点是“内点”(即与模型一致的点),最后使用所有内点来改进模型。

        RANSAC算法的步骤如下:

  1. 随机选择:从数据集中随机选择两个点(对于线性回归)。
  2. 拟合模型:使用选中的两个点拟合一条直线(或其他类型的回归模型)。
  3. 误差计算:计算所有数据点到拟合直线的距离(例如,垂直距离)。
  4. 确定内点:设定一个距离阈值,将距离小于阈值的数据点视为内点。
  5. 模型改进:使用所有内点重新拟合模型。
  6. 迭代:重复上述步骤,直到达到预定的迭代次数或找到满意的模型。
  7. 模型评估:评估最终模型的质量,例如,通过计算内点的数量或拟合优度。

        RANSAC算法的关键优势是它对异常值具有很高的抵抗力。即使数据集中存在大量的异常值,只要存在足够的内点,RANSAC也能够拟合出一个好的模型。

        除了RANSAC之外,还有其他几种鲁棒回归方法,不过相对深入了,不展开说了。

过拟合与正则化

        过拟合(Overfitting)是指模型在训练数据上表现得很好,但是在新的、未见过的数据上表现差的现象。在机器学习中,我们希望模型能够从训练数据中学习到通用的模式。然而,如果模型过于复杂,它可能会学习到训练数据中的特定细节和噪声,而不是潜在的数据分布,从而导致过拟合。

        正则化是一种用于防止模型过拟合的技术,它通过在损失函数中添加一个惩罚项来限制模型参数的大小。这有助于提高模型的泛化能力。

Lasso回归

        Lasso回归是一种带有L1正则化的线性回归。它通过在损失函数中添加一个正则化项来限制模型的复杂度,这个正则化项是模型系数的绝对值之和。Lasso回归的目标函数可以表示为:

\min_\beta{\left(\frac{1}{2n}|X\beta-y|_2^2+\lambda|\beta|_1\right)}

        或:

\min_\beta{\left(\frac{1}{2n}\sum_{i=1}^{n}\left(y_i-\left(\beta_0+\beta_1x_{i1}+\beta_2x_{i2}+\ldots+\beta_nx_{in}\right)\right)^2+\lambda\sum_{j=1}^{n}\left|\beta_j\right|\right)}

        这里, λ是正则化参数,控制了正则化项的强度。当 λ增加时,一些系数 βj可能会被压缩到0,从而实现特征选择。

Ridge回归

        Ridge回归是一种带有L2正则化的线性回归。与Lasso回归不同,Ridge回归的目标是最小化系数的平方和,而不是它们的绝对值之和。Ridge回归的目标函数可以表示为:

\min_\beta{\left(\frac{1}{2n}|X\beta-y|_2^2+\lambda|\beta|_2^2\right)}

        或:

\min_\beta{\left(\frac{1}{2n}\sum_{i=1}^{n}\left(y_i-\left(\beta_0+\beta_1x_{i1}+\beta_2x_{i2}+\ldots+\beta_nx_{in}\right)\right)^2+\lambda\sum_{j=1}^{n}\beta_j^2\right)}

        同样,λ是正则化参数,控制了正则化项的强度。Ridge回归倾向于使所有系数都接近于0,但不会完全为0,这有助于减少模型的复杂度,同时保留所有特征。

        下面是普通多项式回归和使用ridge的一个对比

标签:机器,函数,回归,算法,参数,拟合,线性,模型
From: https://blog.csdn.net/wwl412095144/article/details/139363375

相关文章

  • 离散数学求图的回路和通路(基于邻接表,递归算法)
    网上大多是二维矩阵和循环算法,本篇则是基于邻接表的递归算法求图的回路和通路。代码如下:#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#defineok1#defineerror0#definemax255typedefcharelemtype;intcnt[5]=......
  • 2024云购源码/运营版/一元购源码/一元夺宝源码/指定中奖/机器人自动购买
     一元云购系统源码,稳定运行已多年无BUG,送真实玩家数据助力快速经营云购演示站:http://zhuye.6323g.com/   ......
  • 代码随想录算法训练营第第24天 | 回溯法、77.组合问题
    一、回溯法回溯法是一种搜索方式,也是递归的副产品。只要有递归就会有回溯回溯法并不是什么高效的算法。因为回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质。回溯法,一般可以解决如下几种问题......
  • 算法金 | 突破最强算法模型,决策树算法!!
    大侠幸会,在下全网同名「算法金」0基础转AI上岸,多个算法赛Top「日更万日,让更多人享受智能乐趣」1.引言今天我们唠唠吴恩达:机器学习的六个核心算法!之决策树算法。决策树是一种用于分类和回归的机器学习算法。它通过一系列的决策规则将数据逐步划分,最终形成一......
  • 算法金 | 详解过拟合和欠拟合!性感妩媚 VS 大杀四方
    大侠幸会,在下全网同名「算法金」0基础转AI上岸,多个算法赛Top「日更万日,让更多人享受智能乐趣」今天我们来战过拟合和欠拟合,特别是令江湖侠客闻风丧胆的过拟合,简称过儿,Emmm过儿听起来有点怪怪的1.楔子机器学习模型是一种能够从数据中学习规律并进行预测的......
  • 随笔,这学期最后一天的算法学习
    最近没写什么笔记,并不是因为懒了。而是和我上一次大片时间咕了笔记一样:备战蓝桥杯。这种时候我一般都会力扣上刷刷题:距今为止,力扣一共刷了142道题,一大半的中等题和一部分简单题以及一点点困难题。在备战的最后一天,我又通过历年卷(其实只有去年)学习了快速幂求逆元,最小生成树以及单......
  • 算法金 | 突破最强算法模型,决策树算法!!
    大侠幸会,在下全网同名「算法金」0基础转AI上岸,多个算法赛Top「日更万日,让更多人享受智能乐趣」1.引言今天我们唠唠吴恩达:机器学习的六个核心算法!之决策树算法。决策树是一种用于分类和回归的机器学习算法。它通过一系列的决策规则将数据逐步划分,最终形成一个类似......
  • 程序分享--大厂常见算法/编程面试题:O(1) 时间插入、删除和获取随机元素
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》, 《做好面试准备,迎接2024金三银四》。或关注博主免费专栏【程序......
  • 对KM算法暂时性的理解
    假设我们现在循环到了第\(i\)个点,且前面\(i-1\)个点都已经被匹配了,现在的相等子图为\(S\)在\(A_i+\delta,B_i-\delta\)后,相等子图变成了\(S'\):对于匹配边,其两端要么都在交错树中要么都不在交错树中,不可能出现一端在一端不在的情况,所以匹配边仍然在\(S'\)中对于交错树上的边,显然......
  • 【LeetCode算法】第101题:对称二叉树
    目录一、题目描述二、初次解答三、官方解法四、总结一、题目描述二、初次解答1.思路:递归判定左子树和右子树是否对称。用一个新函数sym来递归判定左子树和右子树是否对称。该函数细节:判定当前传入的两个根节点是否为空,若均为空则返回true,若只有其中一个为空则返回fa......