机器学习算法的分类

一、按学习方式分类

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

相关推荐
浊酒南街3 小时前
XGBClassifiler函数介绍
算法·机器学习·xgb
mlxg999993 小时前
hom_mat2d_to_affine_par 的c#实现
算法·计算机视觉·c#
张琪杭6 小时前
机器学习-随机森林解析
人工智能·随机森林·机器学习
真就死难7 小时前
完全日期(日期枚举问题)--- 数学性质题型
算法·日期枚举
不知道取啥耶7 小时前
C++ 滑动窗口
数据结构·c++·算法·leetcode
花间流风7 小时前
晏殊几何学讲义
算法·矩阵·几何学·情感分析
@心都8 小时前
机器学习数学基础:42.AMOS 结构方程模型(SEM)分析的系统流程
人工智能·算法·机器学习
北顾南栀倾寒10 小时前
[算法笔记]cin和getline的并用、如何区分两个数据对、C++中std::tuple类
笔记·算法
幻风_huanfeng11 小时前
每天五分钟深度学习框架PyTorch:使用残差块快速搭建ResNet网络
人工智能·pytorch·深度学习·神经网络·机器学习·resnet