机器学习知识点全面总结

news2024/9/18 6:41:17

机器学习按照模型类型分为监督学习模型、无监督学习模型两大类。

1、有监督学习

有监督学习通常是利用带有专家标注的标签的训练数据,学习一个从输入变量X到输入变量Y的函数映射。Y = f (X),训练数据通常是(n×x,y)的形式,其中n代表训练样本的大小,x和y分别是变量X和Y的样本值。

有监督学习可以被分为两类:

  • 分类问题:预测某一样本所属的类别(离散的)。比如判断性别,是否健康等。
  • 回归问题:预测某一样本的所对应的实数输出(连续的)。比如预测某一地区人的平均身高。

除此之外,集成学习也是一种有监督学习。它是将多个不同的相对较弱的机器学习模型的预测组合起来,用来预测新的样本。

1.1 单模型

1.1.1 线性回归

线性回归是指完全由线性变量组成的回归模型。在线性回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

1.1.2 逻辑回归

用于研究Y为定类数据时X和Y之间的影响关系情况,如果Y为两类比如0和1(比如1为愿意和0为不愿意,1为购买和0为不购买),此时就叫二元逻辑回归;如果Y为三类以上,此时就称为多分类逻辑回归。

自变量并不一定非要定类变量,它们也可以是定量变量。如果X是定类数据,此时需要对X进行哑变量设置。

1.1.3 Lasso

Lasso方法是一种替代最小二乘法的压缩估计方法。Lasso的基本思想是建立一个L1正则化模型,在模型建立过程中会压缩一些系数和设定一些系数为零,当模型训练完成后,这些权值等于0的参数就可以舍去,从而使模型更为简单,并且有效防止模型过拟合。被广泛用于存在多重共线性数据的拟合和变量选择。

1.1.4 K近邻(KNN)

KNN做回归和分类的主要区别在于最后做预测时候的决策方式不同。KNN做分类预测时,一般是选择多数表决法,即训练集里和预测的样本特征最近的K个样本,预测为里面有最多类别数的类别。KNN做回归时,一般是选择平均法,即最近的K个样本的样本输出的平均值作为回归预测值。但它们的理论是一样的。

1.1.5 决策树

决策树中每个内部节点都是一个分裂问题:指定了对实例的某个属性的测试,它将到达该节点的样本按照某个特定的属性进行分割,并且该节点的每一个后继分支对应于该属性的一个可能值。分类树叶节点所含样本中,其输出变量的众数就是分类结果。回归树的叶节点所含样本中,其输出变量的平均值就是预测结果。

1.1.6 bp神经网络

bp神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。bp神经网络的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的分类错误率最小(误差平方和最小)。

BP 神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:

BP 神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。

1.1.7 支持向量机(SVM)

支持向量机回归(SVR)用非线性映射将数据映射到高维数据特征空间中,使得在高维数据特征空间中自变量与因变量具有很好的线性回归特征,在该特征空间进行拟合后再返回到原始空间。

支持向量机分类(SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面。

1.1.8 朴素贝叶斯

在给定一个事件发生的前提下,计算另外一个事件发生的概率——会使用贝叶斯定理。假设先验知识为d,为了计算假设h为真的概率,要使用如下贝叶斯定理:

该算法假定所有的变量都是相互独立的。

1.2 集成学习

集成学习是一种将不同学习模型(比如分类器)的结果组合起来,通过投票或平均来进一步提高准确率。一般,对于分类问题用投票;对于回归问题用平均。这样的做法源于“众人拾材火焰高”的想法。

集成算法主要有三类:Bagging,Boosting 和Stacking。本文将不谈及stacking。

  • Boosting

1.2.1 GBDT

GBDT 是以 CART 回归树为基学习器的 Boosting 算法,是一个加法模型,它串行地训练一组 CART 回归树,最终对所有回归树的预测结果加和,由此得到一个强学习器,每一颗新树都拟合当前损失函数的负梯度方向。最后输出这一组回归树的加和,直接得到回归结果或者套用 sigmod 或者 softmax 函数获得二分类或者多分类结果。

1.2.2 adaboost

adaboost给予误差率低的学习器一个高的权重,给予误差率高的学习器一个低的权重,结合弱学习器和对应的权重,生成强学习器。回归问题与分类问题算法的不同点在于误差率计算的方式不同,分类问题一般都采用0/1损失函数,而回归问题一般都是平方损失函数或者是线性损失函数。

1.2.3 XGBoost

XGBoost 是"极端梯度上升"(Extreme Gradient Boosting)的简称,XGBoost 算法是一类由基函数与权重进行组合形成对数据拟合效果佳的合成算法。由于 XGBoost 模型具有较强的泛化能力、较高的拓展性、较快的运算速度等优势, 从2015年提出后便受到了统计学、数据挖掘、机器学习领域的欢迎。

xgboost是GBDT的一种高效实现,和GBDT不同,xgboost给损失函数增加了正则化项;且由于有些损失函数是难以计算导数的,xgboost使用损失函数的二阶泰勒展开作为损失函数的拟合。

1.2.4 LightGBM

LightGBM 是 XGBoost 一种高效实现,其思想是将连续的浮点特征离散成 k 个离散值,并构造宽度为 k 的直方图。然后遍历训练数据,计算每个离散值在直方图中的累计统计量。在进行特征选择时,只需要根据直方图的离散值,遍历寻找最优的分割点;且使用带有深度限制的按叶子生长(leaf-wise)策略,节省了不少时间和空间上的开销。

1.2.5 CatBoost

catboost 是一种基于对称决策树算法的 GBDT 框架,主要解决的痛点是高效合理地处理类别型特征和处理梯度偏差、预测偏移问题,提高算法的准确性和泛化能力。

  • Bagging

1.2.6 随机森林

随机森林分类在生成众多决策树的过程中,是通过对建模数据集的样本观测和特征变量分别进行随机抽样,每次抽样结果均为一棵树,且每棵树都会生成符合自身属性的规则和分类结果(判断值),而森林最终集成所有决策树的规则和分类结果(判断值),实现随机森林算法的分类(回归)。

1.2.7 Extra Trees

extra-trees (极其随机的森林)和随机森林非常类似,这里的“及其随机”表现在决策树的结点划分上,它干脆直接使用随机的特征和随机的阈值划分,这样每一棵决策树形状、差异就会更大、更随机。

2、无监督学习

无监督学习问题处理的是,只有输入变量X没有相应输出变量的训练数据。它利用没有专家标注训练数据,对数据的结构建模。

2.1 聚类

将相似的样本划分为一个簇(cluster)。与分类问题不同,聚类问题预先并不知道类别,自然训练数据也没有类别的标签。

2.1.1 K-means算法

聚类分析是一种基于中心的聚类算法(K 均值聚类),通过迭代,将样本分到 K 个类中,使得每个样本与其所属类的中心或均值的距离之和最小。与分层聚类等按照字段进行聚类的算法不同的是,快速聚类分析是按照样本进行聚类。

2.1.2 分层聚类

分层聚类法作为聚类的一种,是对给定数据对象的集合进行层次分解,根据分层分解采用的分解策略。层次聚类算法按数据分层建立簇,形成一棵以簇为节点的树。如果按自底向上进行层次分解,则称为凝聚的层次聚类,比如 AGNES。而按自顶向下的进行层次分解,则称为分裂法层次聚类,比如 DIANA。一般用的比较多的是凝聚层次聚类。

2.2 降维

降维指减少数据的维度同时保证不丢失有意义的信息。利用特征提取方法和特征选择方法,可以达到降维的效果。特征选择是指选择原始变量的子集。特征提取是将数据从高纬度转换到低纬度。广为熟知的主成分分析算法就是特征提取的方法。

2.2.1 PCA主成分分析

主成分分析将多个有一定相关性的指标进行线性组合,以最少的维度解释原数据中尽可能多的信息为目标进行降维,降维后的各变量间彼此线性无关,最终确定的新变量是原始变量的线性组合,且越往后主成分在方差中的比重也小,综合原信息的能力越弱。

2.2.2 SVD奇异值分解

奇异值分解(SVD)是在机器学习领域广泛运用的算法,他不光可以用在降维算法中的特征值分解,还可以用于推荐系统,以及自然语言处理等领域,是很多算法的基石。

2.2.3 LDA线性判别

线性判别的原理是将样本投影到一条直线上,使得同类样本的投影点尽可能接近,不同样本的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的直线上,再根据投影点的位置来确定新样本的类别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1572439.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于springboot实现甘肃非物质文化网站系统项目【项目源码+论文说明】

摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本甘肃非物质文化网站就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信…

Java Number类(详细)

一,Number java.lang.Number 类是抽象类,用于表示各种数值类型的对象。它是 Java 中所有数值类型的包装类的超类。Number 类主要有以下几个特点和作用: 抽象类:Number 类是一个抽象类,不能直接实例化,但可以…

计算机中数的表示

0. 简介 介绍计算机中数的表示方法,主要内容来自 c s a p p csapp csapp。 1. 整数的表示 包括有符号整数与无符号整数的表示。 假设 w → [ w n − 1 w n − 2 . . . w 0 ] \overrightarrow w[w_{n-1}w_{n-2}...w_0] w [wn−1​wn−2​...w0​] 为一种整数。…

【Python系列】将生成的 JSON 数据写入 JSON 文件

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

嵌入式开发学习---(部分)数据结构(无代码)

数据结构 为什么学习数据结构? 1)c语言告诉如何写程序,数据结构是如何简洁高效的写程序 2)遇到一个实际问题,需要写程序去实现相应功能,需要解决那两个方面的问题? 如何表达数据之间的逻辑规律…

智慧公厕,城市管理新亮点

在现代城市环境建设中,智慧公厕作为智慧环卫的重要组成部分,正以其先进的技术手段,成为城市管理的亮点和标杆。借助物联网等技术的应用,智慧公厕实现了信息化、数字化、智慧化的全面升级,为市民提供了更便捷舒适的公共…

[WIP]Sora相关工作汇总VQGAN、MAGVIT、VideoPoet

视觉任务相对语言任务种类较多(detection, grounding, etc.)、粒度不同 (object-level, patch-level, pixel-level, etc.),且部分任务差异较大,利用Tokenizer核心则为如何把其他模态映射到language space,并能让语言模型更好理解不同的视觉任…

Linux安装及管理程序(rpm)

目录 一.Linux应用程序基础 1.应用程序与系统命令的关系 2.典型应用程序的目录结构 3.常见的软件包封装类型 二.RPM包管理工具 1.rmp 查询 2.rpm安装与卸载 3.维护 RPM 数据库 一.Linux应用程序基础 1.应用程序与系统命令的关系 对比系统命令和应用程序的不同 1.1位…

聚簇索引与非聚簇索引b+树实现的区别

文章目录 聚簇索引非聚簇索引B树中聚簇索引的查找(匹配)逻辑B树中非聚簇索引的查找(匹配)逻辑 聚簇索引 特点: 索引和数据保存在同一个B树中 页内的记录是按照主键的大小顺序排成一个单向链表 。 页和页之间也是根据…

Vite 项目中环境变量的配置和使用

Vite 项目中环境变量的声明 我们要在 Vite 项目中进行环境变量的声明,那么需要在项目的根目录下,新建 .env.[mode] 文件用于声明环境变量,如: .env.test 文件用于测试环境下项目全局变量的声明.env.dev 文件用于开发环境下项目全…

FastWiki发布`0.2.4`支持js 函数

Release v0.2.4 AIDotNet/fast-wiki (github.com) 支持JS动态functioncall调用支持动态function管理支持JS在线编辑提供智能代码提示支持JS在线编辑提供部分绑定的c#类(默认提供Console,HttpClient)支持Application绑定多个Function Call优…

异常处理之Java异常体系

Throwable java.lang.Throwable 类是Java程序执行过程中发生的异常事件对应的类的根父类。 Throwable中的常用方法: public void printStackTrace():打印异常的详细信息。 包含了异常的类型、异常的原因、异常出现的位置、在开发和调试阶段都得使用prin…

NLP 在搜索引擎优化上做的工作

自然语言处理(NLP)在搜索引擎优化上的工作主要集中在提升搜索结果的相关性和准确性,以及改善用户的搜索体验。以下是NLP在搜索引擎优化中所做工作的详细介绍: 1. 理解用户查询意图【4】 NLP技术可以帮助搜索引擎更好地理解用户的…

LeetCode:1026. 节点与其祖先之间的最大差值(DFS Java)

目录 1026. 节点与其祖先之间的最大差值 题目描述: 实现代码与解析: DFS 原理思路: 1026. 节点与其祖先之间的最大差值 题目描述: 给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V&#xff…

如何不花一分冤枉钱开视频号小店?按照我的方法,让你省下好几千

大家好,我是电商糖果 因为去年不少人靠做视频号小店发了大财,今年不少创业者,盯上了这个新出来的“电商平台”了。 就是因为它是新出来的平台,平台为了维护项目的红利,以及大量无良商家的入驻,入驻门槛会…

Canal1.1.5整Springboot在MQ模式和TCP模式监听mysql

canal本实验使用的是1.1.5,自行决定版本:[https://github.com/alibaba/canal/releases] canal 涉及的几个角色 canal-admin:canal 后台管理系统,管理 canal 服务canal-deployer:即canal-server(客户端&…

Git 术语及中英文对照

完毕!!感谢您的收看 ----------★★历史博文集合★★---------- 我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字…

14种建模语言(UML)图形

目录 前言 不同UML图形的特点 UML图 类 对象图 用例图 序列图 通信图 交互概览图 时序图 状态图 活动图 构件图 部署图 包图 总结 前言 UML 中有四种关系:依赖、关联、泛化和实现。这四种关系是 UML 模型中可以包含的基本关系事物。这里介绍1…

Flutter 应用数据持久化指南

1. 介绍 1.1 什么是数据持久化? 数据持久化是指将应用程序中的数据保存在持久存储介质(如硬盘、数据库等)中的过程。在计算机科学领域,持久化数据是指数据在程序退出或系统关机后仍然存在的能力。这种持久性使得数据可以在不同的…

C和C++内存管理

目录: 一:C和C内存分布 二:C动态内存管理方式 三:C动态内存管理方式 四:operator new与operator delete函数 五:new和delete的实现原理 六:定位new表达式(placement-new) 七&#xff1…