| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 机器学习中的生成模型与判别模型 -> 正文阅读 |
|
[人工智能]机器学习中的生成模型与判别模型 |
1.概述? ? ? ? ?在机器学习中,对于有监督学习,它的任务就是要学习一个模型,应用这个模型,对给定的输入预测相应的输出。监督学习方法可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别称为生成模型(generative model)和判别模型(discriminative model)。简单地说,生成模型针对联合概率分布进行建模,而判别模型针对条件概率分布建模。 2.生成模型与判别模型的比较2.1 两者直观对比判别模型之所以称为“判别”模型,是因为其根据“判别”;求的是,即后验概率; 生成模型之所以称作“生成”是因为其预测的根据是联合概率,而联合概率可以理解为“生成”样本的概率分布(或称为依据), 具体来说,机器学习已知 ,从的候选集合中选出一个来,可能的样本有实际数据是如何“生成”的依赖于,那么最后的预测结果选哪一个?选“生成”概率最大的那个!直观对比示意图如下 2.2 两者的特点2.2.1 生成模型的特点生成模型被认为是一类可以生成新数据实例的统计模型。作为执行任务的一种手段,例如可实现:
由于这些类型的模型通常依靠贝叶斯定理来找到联合概率,因此生成模型可以处理比判别模型更复杂的任务。 生成模型关注数据集中各个类的分布,其学习算法倾向于对数据点的底层模式或分布进行建模。生成模型使用联合概率的概念,创建给定特征输入 (?x?)与所需输出或标签 (?y?)同时存在的实例。 这些模型使用概率估计和可能性来对数据点进行建模,并区分数据集中存在的不同类别标签。与判别模型不同,这种模型还能够生成新的数据点。 但是,它有一个主要缺点——如果数据集中存在异常值,那么它会在很大程度上会影响这种模型的建模。 生成模型可以还原出联合概率分布,因此还可以用于无监督机器学习,而判别模型不能;生成模型的学习收敛速度快,当样本容量增加时,学到的模型可以很快收敛于真实模型,当存在隐变量时,仍可以使用生成模型,但不能使用判别模型。从信息量角度来说,生成模型包含的信息量比判别模型包含的信息量大。 2.2.2?判别模型的特点判别模型是统计分类中使用的一类主要用于有监督的机器学习模型。这种模型也称为条件模型,因为它学习数据集中类别或标签之间的边界。 判别模型(就像字面意思一样)分离类而不是对条件概率进行建模,并且不对数据点做出任何假设。这种模型无法生成新的数据点。判别模型的最终目标是将一个类与另一类分开。 如果数据集中存在一些异常值,则判别模型与生成模型相比效果更好,即判别模型对异常值更稳健。然而,这些模型的一个主要缺点是?错误分类问题,即错误地分类数据点。 判别模型由于学到的是条件概率分布或决策函数,直接面对预测,通常学习得到的准确性更高,由于直接学习或, 可以对数据进行各种程度的抽象、定义特征并使用特征,可以简化学习过程。 2.3 两者数学依据1)生成模型预测依据 在生成模型的情况下,为了找到条件概率,他们在训练数据的帮助下估计先验?概率和似然概率?,并使用贝叶斯定理计算后验概率?,?即: ???????????????????????????????? 2)判别模型预测依据: 在判别模型的情况下,为了找到概率,它们直接假设的某种函数形式,然后?在训练数据的帮助下?估计的参数,即 ???????????????????????????????????????????????? 2.4 两者的差异比较? ? ? ? a) 核心理念 ????????判别模型在数据空间中绘制边界,而生成模型试图模拟数据在整个空间中的放置方式。生成模型侧重于解释数据是如何生成的,而判别模型侧重于预测数据的标签。 ? ? ? ? b) 数学直觉 ???????用数学术语来说,判别式机器学习通过学习最大化条件概率的参数来训练模型,另一方面,生成模型通过最大化。 ????????c) 应用 ????????判别模型识别现有数据,即判别建模识别标签并对数据进行排序,并可用于对数据进行分类,而生成建模则产生一些东西。 ????????由于这些模型使用不同的机器学习方法,因此两者都适用于特定任务,即生成模型可以适用于无监督学习任务,而判别模型只能对监督学习任务有用。 ? ? ? ? d) 异常值处理 ????????生成模型比判别模型对异常值的影响更大,即生成模型对异常值更敏感。 ? ? ? ? e) 计算成本 ????????与生成模型相比,判别模型的计算成本较低。 2.5 举例说明来自维基百科生成模型维基百科 假设有四个samples
生成模型学到的结果:
判别模型学到的结果:
3.两者模型各自算法1)生成模型常用算法:
2)判别模型常用算法
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:52:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |