【ML】什么是判别模型和生成模型

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 什么是判别模型和生成模型,请阅读下文
1. 判别模型和生成模型所属范畴

在这里插入图片描述

2. 直观理解

【判别模型】:要确定一张图片是猫还是狗,用判别模型的方法就是根据数据集X训练模型,然后把新的图片输入到模型中,模型给出这个图片是每个类别的概率。

【生成模型】:生成模型是对原始数据集X和其标签Y建模,生成其联合概率。然后将新的图片放入是否是猫的模型中,看概率是多少;然后将新的图片放入是否是狗的模型中,看概率是多少。

联合概率:联合概率是指在多元的概率分布中多个随机变量分别满足各自条件的概率。假设X和Y都服从正态分布,那么P{X<4,Y<0}就是一个联合概率,表示X<4,Y<0两个条件同时成立的概率。表示两个事件共同发生的概率。A与B的联合概率表示为 P(AB) 或者P(A,B),或者P(A∩B)。)

3. 判别模型

【判别模型】:由数据直接学习决策函数f(x)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。
【基本思想】是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。
【典型的判别模型】包括KNN,感知机,决策树,支持向量机等。

常见的判别模型:KNN,SVM,神经网络,决策树。

4. 生成模型

【生成模型】:由数据学习==联合概率密度分布P(X,Y)==,然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。
【基本思想】是首先建立样本的联合概率概率密度模型P(X,Y),然后再得到后验概率P(Y|X),再利用它进行分类。

常见的模型有:高斯混合模型,朴素贝叶斯模型。

5.生成模型和判别模型的联系

由生成模型可以得到判别模型,但由判别模型得不到生成模型。

6. 生成模型和判别模型的优缺点

在监督学习中,两种方法各有优缺点,适合于不同条件的学习问题

生成模型的特点:上面说到,生成方法学习联合概率密度分布P(X,Y),所以就可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。但它不关心到底划分各类的那个分类边界在哪。生成方法可以还原出联合概率分布P(Y|X),而判别方法不能。生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛于真实模型,当存在隐变量时,仍可以用生成方法学习。此时判别方法就不能用。

判别模型的特点:判别方法直接学习的是决策函数Y=f(X)或者条件概率分布P(Y|X)。不能反映训练数据本身的特性。但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。直接面对预测,往往学习的准确率更高。由于直接学习P(Y|X)或P(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。

参考:

https://www.cnblogs.com/itmorn/p/13199148.html

https://mp.weixin.qq.com/s/l5f4jpqK120TpWGQbP1dBg

https://blog.csdn.net/zouxy09/article/details/8195017

相关文章
|
1月前
|
人工智能 自动驾驶 机器人
ICLR 2024:模型选择驱动的鲁棒多模态模型推理
【2月更文挑战第24天】ICLR 2024:模型选择驱动的鲁棒多模态模型推理
21 1
ICLR 2024:模型选择驱动的鲁棒多模态模型推理
|
1月前
|
机器学习/深度学习 数据采集 PyTorch
使用PyTorch解决多分类问题:构建、训练和评估深度学习模型
使用PyTorch解决多分类问题:构建、训练和评估深度学习模型
使用PyTorch解决多分类问题:构建、训练和评估深度学习模型
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测
Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测
67 0
|
6月前
|
机器学习/深度学习 自然语言处理 PyTorch
【深度学习】实验12 使用PyTorch训练模型
【深度学习】实验12 使用PyTorch训练模型
80 0
|
11月前
|
机器学习/深度学习 数据采集 算法
机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法Part 2
前一节中,我们学习了Rosenblatt感知机规则的原理,下面使用Python进行实现并使用第1章 赋予计算机学习数据的能力中介绍的鸢尾花数据集进行训练。
198 0
机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法Part 2
|
11月前
|
机器学习/深度学习 人工智能 算法
机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法Part 1
本章中我们会使用所讲到的机器学习中的第一类算法中两种算法来进行分类:感知机(perceptron)和自适应线性神经元(adaptive linear neuron)。我们先使用Python逐步实现感知机,然后对鸢尾花数据集训练来分出不同花的品种。这有助于我们理解用于分类的机器学习算法概念以及如何用Python进行有效的实现。
134 0
机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法Part 1
|
11月前
|
机器学习/深度学习 自然语言处理 数据可视化
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(四)
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型
237 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
Transformers+世界模型,竟能拯救深度强化学习?
Transformers+世界模型,竟能拯救深度强化学习?
171 0
|
机器学习/深度学习 算法 PyTorch
使用Pytorch实现对比学习SimCLR 进行自监督预训练
SimCLR(Simple Framework for Contrastive Learning of Representations)是一种学习图像表示的自监督技术。 与传统的监督学习方法不同,SimCLR 不依赖标记数据来学习有用的表示。 它利用对比学习框架来学习一组有用的特征,这些特征可以从未标记的图像中捕获高级语义信息。
646 0
|
机器学习/深度学习 算法 前端开发
【ML】关于机器学习中AdaBoost算法的学习
关于机器学习中AdaBoost算法的学习