机器学习算法的分类

一、按学习方式分类

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

相关推荐
阿猿收手吧!2 分钟前
【C++】C++模板特化:精准定制泛型逻辑
开发语言·c++·算法
智驱力人工智能15 分钟前
货车走快车道检测 高速公路安全治理的工程实践与价值闭环 高速公路货车占用小客车道抓拍系统 城市快速路货车违规占道AI识别
人工智能·opencv·算法·安全·yolo·目标检测·边缘计算
喵手25 分钟前
Python爬虫实战:电商实体消歧完整实战 - 从混乱店铺名到标准化知识库的工程化实现,一文带你搞定!
爬虫·python·算法·爬虫实战·零基础python爬虫教学·同名实体消除·从混乱店铺名到标准化知识库
源于花海26 分钟前
迁移学习简明手册——迁移学习相关资源汇总
人工智能·机器学习·迁移学习
weixin_4521595529 分钟前
C++与Java性能对比
开发语言·c++·算法
80530单词突击赢30 分钟前
C++哈希表实现:开散列与闭散列详解
算法·哈希算法·散列表
Timmylyx051832 分钟前
类欧几里得学习笔记
笔记·学习·算法
wangluoqi35 分钟前
26.2.2练习总结
算法
2301_7657031436 分钟前
C++中的工厂模式实战
开发语言·c++·算法
小鸡吃米…1 小时前
机器学习 - 精确率与召回率
人工智能·python·机器学习