首页 > 编程语言 >【机器学习算法】回归算法(下) #一文归纳众多算法,建议收藏

【机器学习算法】回归算法(下) #一文归纳众多算法,建议收藏

时间:2024-06-04 21:00:38浏览次数:32  
标签:集成 SVM 一文 归纳 学习 算法 数据 决策树

本文介绍一些传统的机器学习中的有监督算法,然后讲一下集成算法,并给出一张各种算法的“谱系”图。同时,本文对很多算法都给出了示意图

系列文章目录

【机器学习概念】

【机器学习流程】

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

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

目录

SVM(支持向量机)

软边界和硬边界

核函数

决策树

集成算法

Bagging

Boosting

Stacking


SVM

支持向量机(SVM)是一种强大的分类算法,它通过在特征空间中寻找一个最优的超平面来区分不同的类别。

软边界和硬边界

硬边界:在硬边界SVM中,算法的目标是找到一条超平面,使得所有数据点都被正确分类,没有任何一个数据点违反分类规则。这就像是在没有任何误差的条件下,尽可能地增加分类边界的安全距离。

软边界:在软边界SVM中,算法允许一些数据点被错误分类,以换取更好的模型泛化能力。这就像是在确保大多数数据点正确分类的同时,允许一些小的误差,以期望在未见过的数据上有更好的表现。

核函数

前面的SVM都只能处理线性问题,无法满足我们的要求。

核函数是SVM处理非线性可分数据的关键技术。

线性核:当数据在特征空间中已经是线性可分的,线性核可以直接找到分隔超平面。多项式核:当数据不是线性可分的,多项式核可以将数据映射到更高维的空间,在这个新空间中寻找线性分隔超平面。径向基函数(RBF)核:也是一种处理非线性数据的核函数,它通过将数据映射到无限维空间来寻找分隔超平面。

决策树

决策树算法是一种模仿人类决策过程的分类和回归方法。它通过一系列的问题将数据分割成越来越小的子集,直到每个子集可以被分类到一个明确的预测类别,或者可以预测出一个数值。

特点有:

树状结构:决策树由节点和分支组成,类似于树的结构。每个内部节点代表一个特征上的判断,每个分支代表判断的结果,而每个叶节点代表一个预测结果。

特征选择:决策树在每个节点上使用一个特征来分割数据。特征的选择基于一些标准,如信息增益、信息增益率或基尼不纯度。

递归分割:决策树通过递归地选择最佳特征并分割数据集来构建。这个过程一直持续到满足停止条件。

优缺点:

优点是决策树的结构清晰,容易解释模型是如何做出预测的。而且决策树可以被可视化,有助于理解模型的决策过程。

缺点是决策树容易对训练数据过拟合,尤其是在不设置限制的情况下。同时,决策树对数据中的噪声和异常值比较敏感。

集成算法

集成算法(Ensemble Methods)是机器学习中的一种技术,它将多个模型的预测结果结合起来,以期望得到比单个模型更好的性能。集成学习的基本思想是“集思广益”,即通过组合多个模型来减少预测误差,提高模型的泛化能力。

整理一下各种集成算法的“家谱”:

  • Ensemble Methods:集成方法
  • boosting:提升方法
  • bagging:自助聚合
  • stacking:堆叠
  • AdaBoost:自适应增强
  • BoostingTree:提升树
  • RF(Random Forest):随机森林
  • GBDT(Gradient Boosting Decision Tree):梯度提升决策树
  • XGboost:极端梯度提升
  • LightGBM:轻量梯度提升机

Bagging

Bagging,全称为Bootstrap Aggregating,即自助聚合。

Bagging是一种集成学习方法,用于提高模型的稳定性和降低过拟合风险。它通过以下步骤实现:

  1. 自助采样:从原始训练数据集中进行有放回抽样,生成多个不同的数据集。
  2. 独立训练:在每个抽样得到的数据集上独立地训练一个基学习器(如决策树)。
  3. 聚合结果:将所有基学习器的预测结果进行聚合,通常是通过投票(分类)或平均(回归)的方式。

Bagging的典型代表是随机森林(Random Forest),它不仅使用自助采样,还在决策树的分裂过程中引入随机性,以增强模型的多样性和泛化能力。

Boosting

Boosting,全称为Boosted Regression Trees,即提升回归树,是一种通过逐步添加弱学习器来最小化分类或回归误差的集成学习技术。

Boosting 是一种集成学习技术,它通过逐步添加弱学习器来最小化错误率。

  1. 顺序训练:从初始模型开始,顺序地添加弱学习器,每个新学习器都尝试纠正前一个学习器的错误。
  2. 关注错误:每个新学习器都对被前一个学习器错误分类的样本赋予更高的权重。
  3. 加权组合:最终的预测结果是所有弱学习器预测的加权组合,权重通常与学习器的性能相关。

例子:AdaBoost、梯度提升树(Gradient Boosting Trees)。

Stacking

Stacking,全称为Stacked Generalization,即堆叠泛化,是一种将多个基学习器的预测结果作为新特征输入给元学习器的集成学习技术。

Stacking 是一种集成学习技术,它将多个基学习器的预测作为新特征,输入给一个元学习器来进行最终预测。

  1. 基学习器:训练一组不同的基学习器,每个学习器可以是不同类型的算法。
  2. 生成新特征:基学习器的预测结果被用作新特征。
  3. 训练元学习器:在这些新特征上训练一个元学习器,学习如何最好地结合基学习器的预测。

例子:堆叠模型通常包含多种机器学习算法,元学习器可以是逻辑回归、随机森林或梯度提升树等。

标签:集成,SVM,一文,归纳,学习,算法,数据,决策树
From: https://blog.csdn.net/wwl412095144/article/details/139398876

相关文章

  • 【每日一算法】所有元素的 最大值 和 最大公约数 相等
    题目描述Silencer76 定义一个序列是好序列,当且仅当序列中所有元素的最大值和最大公约数相等。给定一个长度为 n的正整数序列 a,请找出最长的符合好序列定义的子序列,输出它的长度。输入描述:输出描述:示例一输入512321输出2示例说明:根据题意,子序......
  • 常春藤算法(Ivy algorithm,LVYA)的复杂城市地形下无人机避障三维航迹规划,可以修改障碍物
    一、部分代码常春藤算法(Ivyalgorithm,LVYA)是MojtabaGhasemi等人于2024年提出智能优化算法。该算法模拟了常春藤植物的生长模式,通过协调有序的种群增长以及常春藤植物的扩散和演化来实现。常春藤植物的生长速率是通过微分方程和数据密集型实验过程建模的。该算法利用附近常春......
  • 蛇鹫优化算法(Secretary bird optimization algorithm,SBOA)的复杂城市地形下无人机避障
    一、部分代码蛇鹫优化算法(Secretarybirdoptimizationalgorithm,SBOA)由FuYoufa等人于2024年提出,该算法的灵感来自于蛇鹫在自然环境中的生存行为。参考文献:[1]FuY,LiuD,ChenJ,etal.Secretarybirdoptimizationalgorithm:anewmetaheuristicforsolvinggloba......
  • 代码随想录算法训练营day14(二叉树)
    代码随想录算法训练营day14(二叉树):学习内容:今天学习二叉树。二叉树节点标准写法(当前节点值,左右子节点,有点像链表节点的定义):structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};二......
  • 2024最新拼多多Java面试题(现场五面),全面涵盖Java高级到高并发,字节跳动java面试算法没
    总结其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。这里还有一份很不错的《Java基础核心总结笔记》,......
  • AI烟火识别算法在消防安全与火灾预警系统中的应用与价值
    在信息化和智能化的今天,烟火识别算法作为一种重要的技术工具,在火灾预防和处理中发挥着关键作用。其工作原理主要基于深度学习和图像处理技术,能够实时分析监控画面,准确检测出图像中的烟火,并发出预警。一、烟火识别算法的工作原理烟火识别算法的工作原理主要基于深度学习和图像处......
  • 数据结构与算法-图
    图是由顶点(vertex)和边(edge)组成的一种数据结构。顶点代表图中的节点,边代表节点之间的关系。图可以分为有向图(directedgraph)和无向图(undirectedgraph)。有向图中的边有一个方向,而无向图中的边没有方向。常见的图算法包括广度优先搜索(BFS)、深度优先搜索(DFS)、拓扑排序(topologica......
  • 代码随想录算法训练营第四十六天|动态规划:完全背包理论基础、518.零钱兑换II、377. 组
    动态规划:完全背包理论基础文档讲解:代码随想录题目链接:52.携带研究材料(第七期模拟笔试)完全背包有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总......
  • 代码随想录算法训练营第四十九天| 139.单词拆分、多重背包
    139.单词拆分文档讲解:代码随想录题目链接:.-力扣(LeetCode)第一想法: 非空字符串s:背包非空单词的列表wordDict:物品每个物品可以使用多次,是一个完全背包问题看到这道题目的时候,大家应该回想起我们之前讲解回溯法专题的时候,讲过的一道题目回溯算法:分割回文串 (opens......
  • 代码随想录算法训练营第四十八天| 70. 爬楼梯(进阶版)、322. 零钱兑换、 279.完全平方数
     70.爬楼梯(进阶版)文档讲解:代码随想录题目链接:57.爬楼梯(第八期模拟笔试)我们之前做的爬楼梯是只能至多爬两个台阶。这次改为:一步一个台阶,两个台阶,三个台阶,.......,直到m个台阶。问有多少种不同的方法可以爬到楼顶呢?这又有难度了,这其实是一个完全背包问题。1阶,2阶,.........