当前位置: 首页 > article >正文

机器学习算法的分类

一、按学习方式分类

1.监督学习(Supervised Learning)

(1)定义:使用已标记的数据进行训练,每个输入数据都有对应的输出标签。模型学习输入与输出之间的映射关系

按以上可以分为以下两种:

分类任务:将输入分配到预定义的类别(如0-9数字识别)。

回归任务:预测连续数值(如房价预测)。

(2)常用算法:线性回归、逻辑回归、决策树、随机森林、支持向量机(SVM)、神经网络等。

2.无监督学习(Unsupervised Learning)

(1)定义:使用未标记的数据进行训练。模型通过找到输入数据中的模式来进行学习。

聚类任务:将相似的数据点分为同一组(如客户细分)。

降维任务:减少数据的维度以便于分析和可视化(如主成分分析)。

(2)常用算法:K均值聚类(K-Means Clustering)、DBSCAN、主成分分析(PCA)、t-SNE等。

3.强化学习(Reinforcement Learning)

(1)定义:通过与环境的交互学习。智能体通过采取行动获得奖励或惩罚,以最大化累积奖励。

核心概念:智能体、环境、状态、行动和奖励。

(2)常用算法:Q学习(Q-Learning)、深度Q网络(DQN)、策略梯度方法、Proximal Policy Optimization(PPO)等。

二、按任务类型分类

1.分类算法(Classification Algorithms)

  将输入数据分类到预定义类别中。算法有逻辑回归、随机森林、支持向量机、决策树、朴素贝叶斯、K-最近邻(KNN)等。

2.回归算法(Regression Algorithms)

  预测连续变量。算法有线性回归、岭回归、套索回归(Lasso Regression)等。

3.聚类算法(Clustering Algorithms)

  将数据集划分为不同的组。示例算法:K均值、DBSCAN、层次聚类等。

4.降维算法(Dimensionality Reduction Algorithms)

  简化数据集,去除冗余特征。示例算法:主成分分析(PCA)、线性判别分析(LDA)等。

三、按模型结构分类

1.线性模型

  假设输入特征和输出变量之间存在线性关系。如线性回归。

2.非线性模型

  假设输入特征和输出变量之间存在非线性关系。如支持向量机(SVM,通过核函数实现非线性映射)、神经网络等。

3.基于树的模型

  通过递归分割特征空间构建树状结构进行分类或回归。如决策树、随机森林、梯度提升树(GBDT)、XGBoost等。

4.基于神经网络的模型

  通过训练神经元之间的连接权重来预测目标变量。如多层感知机(MLP)、卷积神经网络(CNNs)、循环神经网络(RNNs)、长短期记忆网络(LSTM)、Transformer模型等。

四、其他分类方式

1.集成学习(Ensemble Learning)

(1)定义:结合多个模型的预测以提高性能。如Bagging(如随机森林)、Boosting(如AdaBoost、XGBoost)等。

2.半监督学习(Semi-supervised Learning)

(1)定义:结合少量有标签和大量无标签的数据进行训练。应用:在标注数据稀缺的情况下提高模型性能。


http://www.kler.cn/a/473558.html

相关文章:

  • python学习笔记—14—函数
  • 5.1 数据库:INSERT 插入语句
  • 阻抗(Impedance)、容抗(Capacitive Reactance)、感抗(Inductive Reactance)
  • 基于FPGA的出租车里程时间计费器
  • 基于SpringBoot实现的保障性住房管理系统
  • 调整Python+Pytest+Allure+Yaml+Pymysql框架中需要执行的用例顺序
  • 8_TypeScript String --[深入浅出 TypeScript 测试]
  • Ubuntu网络连接问题(笔记本更换wifi后,虚拟机连不上网络)
  • 【漏洞分析】DDOS攻防分析
  • 【修改mysql支持远程访问】
  • openai swarm agent框架源码详解及应用案例实战
  • Python数据可视化-Pandas
  • docker+ffmpeg+nginx+rtmp 拉取摄像机视频
  • 运放输入偏置电流详解
  • 4 驱动开发
  • Day10——爬虫
  • 【江协STM32】9-4/5 USART串口数据包、串口收发HEX数据包串口收发文本数据包
  • micro-app vite4接入vite6 遇到的问题
  • 数据库管理系统
  • 利用Java爬虫获取1688商品详情:API返回值说明及代码示例
  • VsCode对Arduino的开发配置
  • 【深度学习】布匹寻边:抓边误差小于3px【附完整链接】
  • 从零用java实现 小红书 springboot vue uniapp (9)消息推送功能
  • 【Unity3D】导出Android项目以及Java混淆
  • 初学vue3心得
  • VSCode 远程开发环境中的 Python 虚拟环境切换详解