机器学习十大算法简介

article/2025/9/18 14:00:08

本文对机器学习的常用算法进行常识性的认识,介绍这些算法是什么以及如何应用(主要是针对分类问题)以及对单个算法的理解的简介。本文要介绍的十大算法如下:①决策树;②随机森林;③逻辑回归;④SVM(support vector machine);⑤朴素贝叶斯;⑥K最近邻算法;⑦K均值算法;⑧Adaboost算法;⑨神经网络;⑩马尔科夫。

1. 决策树

根据一些feature进行分类,每个节点提出一个问题,通过判断将数据分成两类,在继续提问。这些问题是根据已有数据学习出来的,子啊投入新数据的时候,就根据这棵树上的问题将数据分到合适的叶子上。
在这里插入图片描述

2. 随机森林

在源数据中随机选取数据,组成几个子集
在这里插入图片描述
s矩阵是源数据,有1-N条数据,A B C是feature,最后一列C是类别
在这里插入图片描述
由S随机生成M个子矩阵
在这里插入图片描述
这M个子集得到M个决策树
将新数据投入到这M个树中,得到M个分类结果,计数看测试成哪一类的数目最多,就将此类别作为最后的预测结果
在这里插入图片描述

3. 逻辑回归

当预测目标数概率这样的,值域需要满足大于等于0,小于等于1的,这个时候单纯的线性模型是做不到的,因为在定义域不在某个范围之内时,值域也超出了规定区间。
在这里插入图片描述
所以此时需要下面形状的模型会比较好
在这里插入图片描述
问题是怎么得到这样的模型呢?条件:大于等于0,小于等于1
大于等于0的模型可以选择绝对值,平方值,这里用指数函数,一定大于0
小于等于1的模型可以用除法,分子是自己,分母是自身加上1,一定是小于1的
在这里插入图片描述
再做一下变形,就得到logistics regression模型
在这里插入图片描述
通过源数据计算可以得到相应的系数
在这里插入图片描述
最后得到logistic的图形
在这里插入图片描述

4. SVM

要将两类分开,想要得到一个超平面,最优的超平面是到两类的margin达到最大,margin就是超平面与离它最近一点的距离,如下图,所以绿色的超平面比较好
在这里插入图片描述
将这个超平面表示成一个线性方程,在线上方的一类,都大于等于1,另一类小于等于-1
在这里插入图片描述
点到面的距离根据图中的公式计算
在这里插入图片描述
所以得到total margin的表达式如下,目标是最大化这个margin,就需要最小化分母,就是变成了一个优化问题
在这里插入图片描述
举个例子:三个点,找到最优的超平面,定义了weight vector=(2,3)-(1,1)
在这里插入图片描述
得到weight vector为(a,2a)将两个点带入方程,代入(2,3)另其值等于1,代入(1,1)另其值等于-1,求解出a和截距w0的值,进而得到超平面的表达式。
在这里插入图片描述
a求出来后,代入(a,2a)得到的就是support vector
a和w0代入超平面的方程就是support vector machine

5. 朴素贝叶斯

举个在NLP的应用:给一段文字,返回情感分类,这段文字的态度是positive还是negative
在这里插入图片描述
为了解决这个问题,可以只看到其中的一些单词
在这里插入图片描述
这段文字将仅由一些单词和他们的计数代表
在这里插入图片描述
原始问题是:给你一句话
它属于那一类通过bayes rules变成一个比较简单容易求得的问题
在这里插入图片描述
问题变成,这一类中这句话出现的概率是多少,当然,别忘了公式里 的另外两个概率
例子:单词love在positive的情况下出现的概率是0.1,在negative的情况下出现的概率是0.001
在这里插入图片描述

6. K最邻近算法

给一个新的数据时,离他最近的K个点中,哪个类别多,这个数据属于哪一类
例子:要区分猫和狗,通过claws和sound两个feature来判断的话,圆形和三角形是已经分类的了,那么这个star代表的是哪一类呢?
在这里插入图片描述k=3时,这三条线连接的点就是最近的三个点,那么圆形多一些,所以这个star就是属于猫
在这里插入图片描述

7. K均值算法

想要将一组数据分为三类,粉色数值大,黄色数值小,先初始化,选了最简单的3,2,1作为各类的初始值,剩下的数据里,每个都与三个初始值计算距离,然后归类到离它最近的初始值所在类别
在这里插入图片描述
分好类后,计算每一类的平均值,作为新一轮的中心店
在这里插入图片描述
几轮之后,分组不在变化了,就可以停止了
在这里插入图片描述
在这里插入图片描述

8. Adaboost

adaboost是boosting的方法之一
boosting就是把若干分类效果并不好的分类器综合起来考虑,会得到一个效果比较的分类器
下图,左右两个决策树,单个看效果不怎么好,但是把同样的数据投入进去,把两个结果加起来考虑,就会增加可信度
在这里插入图片描述
adaboost的例子,手写识别中,在画板上可以抓取到很多feature,例如始点的方向,试点和终点的距离等等
在这里插入图片描述
trainning的时候,会得到每个feature的weight,例如2和3的开头部分很像,这个feature对分类起到的作用很小,它的权重也就会较小
在这里插入图片描述
而这个alpha角就具有很强的识别性,这个feature的权重就会较大,最后的预测结果是综合考虑这些feature的结果
在这里插入图片描述

9. 神经网络

Neural Networks适合一个input可能落入至少两个类别里
NN有若干层神经元,和他们之间的联系组成
第一层是input层和output层都有自己的classifier
在这里插入图片描述
input输入到网络中,被激活,计算的分数被传递到下一层,激活后面的神经层,最后output层的节点上分数代表属于各类的分数,下图例子得到分类结果为class1
同样的input被传输到不同的节点上,之所以会得到不同的 结果是因为个子节点有不同的weight和bias,这也就是forward propagation
在这里插入图片描述

10. 马尔科夫

Markov Chains由state和transitions组成
例子:根据这一句话“the quick brown fox jumps over the lazy dog”,要得到markov chain
步骤:先给每一个单词设定成一个状态,然后计算状态间转换的概率
在这里插入图片描述
这是一句话计算出来的概率,当你用大量文本去做统计的时候,会得到更大的状态转移矩阵,例如the后面可以连接的单词,及相应的概率
在这里插入图片描述
生活中键盘输入法的备选结果也是一样的原理,模型会更高级
在这里插入图片描述


http://chatgpt.dhexx.cn/article/ABWfAQee.shtml

相关文章

常见的机器学习算法与人工神经网络

目录 1. 邻近算法K-NearesNeighbor (KNN) 1.1 KNN算法核心思想 1.2 KNN算法步骤 1.3 KNN预测分类 2. 图神经网络Graph Neural Networks (GNN) 2.1图的基本定义 2.2 图神经网络模型 3. 卷积神经网络Convolutional Neural Network (CNN) 3.1 CNN的结构 3.2 卷积 3.3 卷…

【KELM预测】基于粒子群算法改进核极限学习机(KELM)分类算法 matlab源码

一、核极限学习机 本文将介绍一种新的SLFN的算法,极限学习机,该算法将随机产生输入层和隐含层间的连接权值和隐含层神经元的阈值,且在训练过程中无需调整,只需要设置隐含层的神经元的个数,便可以获得唯一最优解&#x…

机器学习算法[9]--集成方法之XGBoost原理详解及XGBoost库实现

机器学习 1. XGBoost1.1 原理1.1.1 算法解析1.1.2 算法流程 1.2 XGBoost库实现 1. XGBoost 1.1 原理 XGBoost(Extreme Gradient Boosting)通过串行的方式迭代训练多个相互依赖的决策树回归模型,最后综合多个简单模型共同作用产生输出,在GBDT作出全面优…

基于PSO优化的SVM数据预测算法matlab仿真

目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 支持向量机(support vector machines, SVM)是二分类算法,所谓二分类即把具有…

基于改进大洪水算法求解TSP问题

from function import get_distances, get_value, result_plot, get_neighbors from random import randintdef r_opt(route):"""利用2-opt算法对route进行改进,对当前路径所有不相邻的两点进行边边交换"""new_route route[:]value get_value(…

粒子群算法介绍

优化算法——粒子群优化介绍 1. 基本概念 粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation)。源于对鸟群捕食的行为研究。粒子群优化算法的基本思想:是通过群体中个体之间的协作…

Python实现VRP常见求解算法——离散量子行为粒子群算法(DQPSO)

基于python语言,实现经典离散量子行为粒子群算法(DQPSO)对车辆路径规划问题(CVRP)进行求解。 目录 优质资源1. 适用场景2. 求解效果3. 问题分析4. 数据格式5. 分步实现6. 完整代码参考 优质资源 python实现6种智能算法…

回归预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM、BiLSTM多输入单输出回归预测

回归预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM、BiLSTM多输入单输出回归预测 目录 回归预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM、BiLSTM多输入单输出回归预测效果一览基本描述程序设计参考资料 效果一览 基本描述 1.Matlab实现QPSO-BiLSTM、PSO-BiLSTM、BiLSTM神经…

云模型量子粒子群算法

云模型量子粒子群算法 量子粒子群推导过程: 量子粒子群算法(Quantum-behaved Particle Swarm Optimization,QPSO)具有进化方程简单、控制参数少、收敛速度快、运算量少等特点。QPSO从量子动力学运动方程出发,通过蒙特卡洛逆变换法定格某时刻…

【配电网重构】基于粒子群算法求解配电网重构问题附matlab代码

1 内容介绍 随着大规模,跨区域的配电网不断发展,对配电网运行的经济性和可靠性要求越来越高,在配电网发生大范围停电事故后,需要对配电网的拓扑结构进行重新组合,从而达到恢复供电的目的,这个重新组合配电网拓扑结构的过程即为配电网恢复重构.配电网恢复重构是一个多目标非线性…

回归预测 | MATLAB实现基于QPSO-GRU、PSO-GRU、GRU多变量回归预测

回归预测 | MATLAB实现基于QPSO-GRU、PSO-GRU、GRU多变量回归预测 目录 回归预测 | MATLAB实现基于QPSO-GRU、PSO-GRU、GRU多变量回归预测效果一览基本描述程序设计参考资料 效果一览 基本描述 1.Matlab实现QPSO-GRU、PSO-GRU和GRU门控循环单元多变量回归预测; 2.输…

回归预测 | MATLAB实现基于QPSO-BiGRU、PSO-BiGRU、BiGRU多变量回归预测

回归预测 | MATLAB实现基于QPSO-BiGRU、PSO-BiGRU、BiGRU多变量回归预测 目录 回归预测 | MATLAB实现基于QPSO-BiGRU、PSO-BiGRU、BiGRU多变量回归预测效果一览基本描述程序设计参考资料 效果一览 基本描述 1.Matlab实现QPSO-BiGRU、PSO-BiGRU和BiGRU双向门控循环单元多变量回归…

QPSO---收缩扩张系数的选择方案(未完待续)

一、理论基础 平均最优位置: 其中,P代表第i个粒子的最优位置,即局部最优位置,mbest为平均最优位置。对于多维粒子而言,每一维上的最优位置等于全部粒子在该维度上的平均值。 其中小写的p代表每个粒子的局部吸引子,它的…

组合预测模型 | 基于QPSO-LSTM、PSO-LSTM、LSTM单输入单输出时序预测(Matlab程序)

组合预测模型 | 基于QPSO-LSTM、PSO-LSTM、LSTM单输入单输出时序预测(Matlab程序) 目录 组合预测模型 | 基于QPSO-LSTM、PSO-LSTM、LSTM单输入单输出时序预测(Matlab程序)预测结果基本介绍程序设计参考资料预测结果

时序预测 | MATLAB实现基于QPSO-GRU、PSO-GRU、GRU时间序列预测

时序预测 | MATLAB实现基于QPSO-GRU、PSO-GRU、GRU时间序列预测 目录 时序预测 | MATLAB实现基于QPSO-GRU、PSO-GRU、GRU时间序列预测效果一览基本描述程序设计参考资料 效果一览 基本描述 MATLAB实现基于QPSO-GRU、PSO-GRU、GRU时间序列预测。 1.Matlab实现QPSO-GRU、PSO-GRUG…

时序预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM时间序列预测

时序预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM时间序列预测 目录 时序预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM时间序列预测效果一览基本描述程序设计参考资料 效果一览 基本描述 MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM时间序列预测。 1.Matlab实现QPSO-LSTM…

回归预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM多输入单输出回归预测

回归预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM多输入单输出回归预测 目录 回归预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM多输入单输出回归预测效果一览基本描述模型描述程序设计参考资料 效果一览 基本描述 1.Matlab实现QPSO-LSTM、PSO-LSTM和LSTM神经网络时间序…

QPSO Algorithm

QPSO Algorithm C#语言.NetFramwork4.6.1平台实现(需了解QPSO算法原理,可参考清华大学孙俊教授编写的教材《量子行为粒子群优化原理及其应用》) using System; using System.Collections.Generic; using System.Linq; using System.Text; u…

微信小程序使用ECharts的示例详解

目录 安装 ECharts 组件使用 ECharts 组件图表延迟加载 echarts-for-weixin 是 ECharts 官方维护的一个开源项目,提供了一个微信小程序组件(Component),我们可以通过这个组件在微信小程序中使用 ECharts 绘制图表。 echarts-fo…

微信小程序案例---本地生活

文章目录 首页效果以及实现步骤接口地址新建项目并梳理项目结构配置导航栏效果配置 tabBar 效果实现轮播图效果实现九宫格效果实现图片布局 本地生活(列表页面)演示页面效果以及主要功能列表页面的 API 接口页面导航并传参获取并渲染列表数据上拉触底时加…