机器学习知识点全面总结

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

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线性判别

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【python毕业设计】基于Python的医院信息管理系统的设计与实现(源码+数据库+毕业论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

博客部署004-centos安装mysql及redis

1、如何查看当前centos版本? cat /etc/os-release 2、安装mysql 我的是centos8版本,使用dnf命令 2.1 CentOS 7/8: sudo yum install -y mysql-community-server 或者在CentOS 8上,使用DNF:🌟 sudo dnf install -y mysql-ser…

Linux:谈谈阻塞式和非阻塞式IO

文章目录 阻塞式和非阻塞式IO 本篇总结的核心内容就是非阻塞式IO&#xff0c;直接看代码 阻塞式和非阻塞式IO 阻塞式IO 如下所示是典型的阻塞式IO #include <iostream> #include <unistd.h> using namespace std;int main() {char buff[1024];while(true){ssiz…

Whisper报错:ffmpeg返回异常值1

本地使用cmd命令显示ffmpeg可以用&#xff0c;但是使用python代码调用whisper包就报错。 查看了whisper源码&#xff0c;发现其也是调用的cmd来使用ffmpeg&#xff0c;于是修改其audio.py中的audio方法中ffmpeg的具体位置完美运行。

基于Springboot企业客户信息反馈平台

采用技术 基于Springboot企业客户信息反馈平台的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 功能清单 平台功能 首页 技术文档 问题信息 个人中心…

Redis中的持久化

持久化 .RDB手动触发save命令bgsave命令 自动触发bgsave的具体流程RDB的处理保存压缩校验 RDB的优缺点 AOF命令写入文件同步重写机制启动时恢复数据 本章重点回顾 . RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发 手动触发…

希尔排序:插入排序的高效升级版,你了解吗?

算法学习的重要性 在程序员的世界里&#xff0c;算法就如同一座桥梁&#xff0c;连接着问题与解决方案&#xff0c;是实现优秀程序的关键。 掌握算法&#xff0c;就能够在面对各种问题时&#xff0c;找到最合适的解决方法&#xff0c;以最少的时间和空间&#xff0c;实现最优的…

4核8G配置服务器多少钱?2024年阿里云服务器价格曝光

阿里云服务器4核8G租用优惠价格955元一年&#xff0c;配置为云服务器ECS通用算力型u1实例4核8G配置、ESSD Entry盘20G-40G、1M-3M带宽&#xff0c;实例规格为ecs.u1-c1m2.xlarge&#xff0c;阿里云优惠活动 yunfuwuqiba.com/go/aliyun 活动链接打开如下图&#xff1a; 阿里云4核…

Python | Leetcode Python题解之第12题整数转罗马数字

题目&#xff1a; 题解&#xff1a; class Solution:THOUSANDS ["", "M", "MM", "MMM"]HUNDREDS ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC&quo…

【事务注解✈️✈️】@Transactional注解在不同参数配置下的功能实现

目录 前言 使用场景 1.单个方法层面 2.类级别使用 3.指定异常回滚 4.跨方法调用事务管理 5.只读事务 ​ 6.设置超时时间&#xff0c;超时则自动回滚 7.隔离级别设置 章末 前言 小伙伴们大家好&#xff0c;ACID&#xff08;原子性&#xff0c;一致性&#xff0c;隔离…

mysql知识点梳理

mysql知识点梳理 一、InnoDB引擎中的索引策略&#xff0c;了解过吗&#xff1f;二、一条 sql 执行过长的时间&#xff0c;你如何优化&#xff0c;从哪些方面入手&#xff1f;三、索引有哪几种类型&#xff1f;四、SQL 约束有哪几种呢&#xff1f;五、drop、delete、truncate的区…

PID算法讲解+PID电机闭环控制介绍

1.PID简介 PID是控制领域相当经典且重要的控制算法。 PID就是“比例&#xff08;proportional&#xff09;、积分&#xff08;integral&#xff09;、微分&#xff08;derivative&#xff09;”&#xff0c;是一种很常见的控制算法。它应用的范围相当之广。小到我们玩的无人机…

双摆及其他:从多臂摆研究混沌

目录 一、说明 二、钟摆物理方程 三、无法确定解的混沌方程 四、计算机模拟 一、说明 关于混沌如何实现&#xff1f;能否用计算机模拟&#xff1f;本文从简单的物理道具&#xff1a;双臂摆的物理方程&#xff0c;引进混沌理念。进而进行复杂的自然状态中。本文只是研究题目的引…

【python】python鲜花管理系统(界面GUI版本)(源码+数据库)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

WebGIS 地铁交通线网数据可视化监控平台

数字孪生技术在地铁线网的管理和运维中的应用是一个前沿且迅速发展的领域。随着物联网、大数据、云计算以及人工智能技术的发展&#xff0c;地铁线网数字孪生在智能交通和智慧城市建设中的作用日益凸显。 图扑软件基于 HTML5 的 2D、3D 图形渲染引擎&#xff0c;结合 GIS 地图&…

【项目新功能开发篇】需求分析和开发设计

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

leetcode(HOT100)——链表篇

1、相交链表 本题思路就是定义两指针&#xff0c;指向两链表的同一起跑线&#xff0c;然后共同往前走&#xff0c;边走边判断两链表的节点是否相等&#xff0c; 代码如下&#xff1a; /*** Definition for singly-linked list.* public class ListNode {* int val;* L…

最新在线工具箱网站系统源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 系统内置高达72种站长工具、开发工具、娱乐工具等功能。此系统支持本地调用API&#xff0c;同时还自带免费API接口&#xff0c; 是一个多功能性工具程序&#xff0c;支持后台管理、上…

算法设计与分析实验报告c++java实现(ACM面试题、字符串匹配算法、循环赛日程安排问题、分治法求解最大连续子序列和、动态规划法求解最大连续子序列和)

一、 实验目的 1&#xff0e;加深学生对算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 1、【ACM、…

jmeter下载与使用

下载 官网下载地址&#xff1a;Apache JMeter - Apache JMeter™ 由于jmeter是由java语言编写的&#xff0c;所以要先安装jdk1.8或者以上的版本 配置环境变量 配置classpath环境变量 %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HO…