机器学习算法的分类

一、按学习方式分类

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)定义:结合少量有标签和大量无标签的数据进行训练。应用:在标注数据稀缺的情况下提高模型性能。

相关推荐
LXS_3571 天前
Day17 C++提高 之 类模板案例
开发语言·c++·笔记·算法·学习方法
小年糕是糕手1 天前
【C++】string类(一)
linux·开发语言·数据结构·c++·算法·leetcode·改行学it
初願致夕霞1 天前
LeetCode双指针题型总结
算法·leetcode·职场和发展
努力学算法的蒟蒻1 天前
day36(12.17)——leetcode面试经典150
算法·leetcode·面试
sali-tec1 天前
C# 基于halcon的视觉工作流-章70 深度学习-Deep OCR
开发语言·人工智能·深度学习·算法·计算机视觉·c#·ocr
绿算技术1 天前
在稀缺时代,定义“性价比”新标准
大数据·数据结构·科技·算法·硬件架构
一起养小猫1 天前
《Java数据结构与算法》第四篇(二)二叉树的性质、定义与链式存储实现
java·数据结构·算法
乌萨奇也要立志学C++1 天前
【洛谷】贪心专题之哈夫曼编码 从原理到模板题解析
c++·算法
落羽的落羽1 天前
【C++】并查集的原理与使用
linux·服务器·c++·人工智能·深度学习·随机森林·机器学习
超龄超能程序猿1 天前
YOLOv8 五大核心模型:从检测到分类的介绍
yolo·分类·数据挖掘