机器学习之生成式模型与判别式模型的区别

根本区别在于是否计算了联合分布 P ( X , Y ) P(X,Y) P(X,Y)和是否比较了模型输出的概率大小.

生成式模型的特点

  • 对联合分布进行建模,然后通过朴素贝叶斯来求条件概率,选择使得条件概率最大的 Y Y Y
  • 可以还原出联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)
  • 学习收敛速度快,当样本容量增加时,学到的模型可以更快地收敛于真实模型
  • 应对存在隐变量(不可观测的变量)的场景
  • 相比于判别式模型,往往模型效果差一些
  • 学习到的数据本身信息更多,能反应数据本身特性
  • 学习成本较高,需要更多的计算资源
  • 需要的样本数更多,样本较少时学习效果较差

判别式模型的特点

  • 不能还原出联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)
  • 不能处理存在隐变量的场景
  • 由于直接学习的是条件概率 P ( X ∣ Y ) P(X|Y) P(X∣Y)或者决策函数 f ( X ) f(X) f(X),往往学习的准确率更高
  • 由于直接学习的是 P ( X ∣ Y ) P(X|Y) P(X∣Y)或者 f ( X ) f(X) f(X),可以对数据进行各种程序熵的抽象、定义特征并使用特征,可以简化学习问题
  • 对条件概率建模,学习不同类别之间的最优边界
  • 捕捉不同类别特征的差异信息,不学习本身分布信息,无法反映数据本身特性
  • 学习成本较低,需要的计算资源较少
  • 需要的样本数可以较少,少样本也能很好学习

典型的模型

  • 常见的判别式模型有:线性回归、限行判别分析、SVM、神经网络、K近邻、决策树、最大熵模型、boosting、条件随机场
  • 常见的生成式模型: HMM、朴素贝叶斯、GMM、LDA等
相关推荐
加油码6 分钟前
位图 BitMap:用一个 bit 管一个状态,空间直接省到位
c++·算法
四代水门7 分钟前
LeetCode刷算法题(C++)
c++·算法·leetcode
一头老黄牛@9 分钟前
飞书 × OpenClaw 接入指南:不用服务器,用长连接把机器人跑起来
数据结构·人工智能·程序人生·算法·决策树·自动化·推荐算法
Passionate.Z16 分钟前
基于FPGA的CLAHE自适应限制对比度直方图均衡算法硬件verilog实现
图像处理·嵌入式硬件·算法·fpga开发·fpga
菜鸡爱玩4 小时前
线性代数矩阵相乘
线性代数·算法·矩阵
devilnumber8 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
硅谷秋水9 小时前
HARBOR:一个面向具身智体机器人强化学习的驾驭框架
人工智能·深度学习·机器学习·机器人
‎ദ്ദിᵔ.˛.ᵔ₎10 小时前
双指针、滑动窗口、前缀和、二分查找 算法
算法
顾北顾10 小时前
多头注意力机制
人工智能·深度学习·算法
H1785350909610 小时前
SolidWorks_基于草图的实体特征20_特征错误排查
算法·3d建模·solidworks