机器学习基础 | 大话生成模型与判别模型

西瓜书习题 - 2.模型评估与选择 西瓜书第二章练习题 阅读详情

监督学习包含了两类构建机器学习模型的方法——判别模型和生成模型,我们以一篇生动的故事来引出这两类模型的概念。

故事:

有一个父亲有两个孩子,孩子A有能够深入学习一切事物的特殊才能,孩子B有能够学习他所看到事物之间区别的能力。

一天,父亲带两个孩子去动物园,这个动物园很小且只有两类动物——狮子和大象。他们离开动物园后,父亲指向一只动物并问他们:这只动物是狮子还是大象?

孩子A根据自己在动物园里看到狮子和大象的特征,马上在一张纸上画出了狮子和大象,然后他将这两幅图像与站在他面前的动物进行了比较,并根据与动物最接近的图像匹配作出了回答:“这只动物是狮子”。

孩子B根据学习到的可以区分大象和狮子的特征,作出了回答:“这只动物是狮子”。

在这里,他们的任务都是对眼前的动物进行分类,但是学习和寻找答案的方式是完全不同的,在机器学习中,我们通常把孩子A称为生成模型,孩子B称为判别模型。

生成模型学习联合概率分布p(x,y),然后根据贝叶斯理论预测条件概率p(y|x),推导公式为:

判别模型直接学习条件概率分布P(y|x)或学习决策函数y=f(x)预测输出。

由(1)式可知生成模型可以得到判别模型,但判别模型得不到生成模型。

如何用生成模型和判别模型进行分类?我们知道生成模型和判别模型的分类方法都是基于条件概率分布p(y|x)进行的,对于K分类,我们选择条件概率最大时的类为预测类,即:

再次回顾(1)式,我们发现p(x)是一个常数,因此p(y|x)与p(x,y)是成正比的关系,即:

下面举一个简单的例子来解释生成模型和判别模型的构建过程以及如何用该模型去进行分类:

假设我们进行二分类,训练数据的特征x有两个取值——1和2,输出y有两类——0或1,有如下的训练样本(1,0) 、(1,0) 、(1,1) 、(2,1)

由训练样本学习到的生成模型的联合概率分布如下:

而学习到的判别模型的条件概率分布如下:

若测试数据的输入特征x为1,根据(2)式(3)式,判别模型和生成模型的预测类别都是0。

下面来盘点下常见机器学习方法的模型分类:

1.判别式分类模型:支持向量机

支持向量机的算法思想是寻找最大化不同类的函数间隔的超平面,如下图根据训练数据求解二分类的最优超平面:

判别函数f(x)为:

给定一个测试数据x0(上图方框表示),代入判别函数f(x):

因此测试数据标记为正样本。

2.生成式分类模型:朴素贝叶斯分类器

假设M维输入特征向量,目标向量 y。给定训练数据,我们构建联合概率分布p(x,y)。

由条件独立性假设可得:

对上式积分可得:

由贝叶斯理论可得后验概率:

因此对于测试数据,分类结果为后验概率最大的输出y。

3.判别式分类模型:逻辑斯蒂回归

对于特征向量x的二分类(C1类和C2类)任务,逻辑斯蒂回归的核心是预测输入特征x的所属类的后验概率,可写为:

其中:

若,则判断该输入特征属于C1类,否则输入C2类;

如下图:

逻辑斯蒂回归模型是直接预测条件概率p(y|x)的分布,因此逻辑斯蒂回归是判别式分类模型。

4.逻辑斯蒂回归模型与贝叶斯分类器的比较

上一节介绍逻辑斯蒂回归算法直接预测条件概率p(y|x)的分布,给出分类结果。

下面看看贝叶斯是如何计算条件概率:

其中:

比较式(3.1)和(4.1)式,可知两种模型参数a的求解方法不同:

逻辑斯蒂回归模型:a是输入特征x的线性方程,即:

贝叶斯模型:我们首先估计模型的类条件概率,然后由(4.1)式计算得到参数a;

5. 生成模型:隐马尔科夫模型(HMM)

给定观测数据序列,如何预测生成观测数据的状态序列,观测数据序列和状态序列的关系如下图:

HMM通过构建联合概率分布P(X,Y)来预测状态序列Y,联合概率分布为:

然后通过EM算法求解模型参数,预测状态序列。

(5.1)式成立时的两个假设条件:

  • 过去与未来的状态相互独立,即t时刻的状态只依赖于其前一时刻的状态,与其他时刻的状态无关;

  • 各状态的观测数据是相互独立的;

隐马尔可夫模型是通过联合概率分布P(X,Y)来预测状态序列,因此隐马尔可夫模型是生成模型。

6. 判别模型:条件随机场(CRF)

为了便于理解,本节只讨论线性链条件随机场,且假设观测序列和状态序列有相同的结构,如下图:

CRF是通过构建条件概率分布p(Y|X)预测状态序列,条件概率分布为:

其中是全局特征方程,是对应的权值。

Z(X)是标准化方程,即:

然后通过极大化训练数据的对数似然函数求解模型参数,预测状态序列。

7. 生成模型与判别模型的特点比较

生成模型是学习联合概率分布,然后利用贝叶斯理论去预测条件概率分布。生成模型明确的反映了数据集的分布情况,根据数据集的分布情况去预测测试数据的分类情况,当数据量较少时,学习到的联合概率分布与真实的联合概率分布差异较大,因此生成模型适合在数据量很大的情况,当模型需要考虑隐变量时,仍可用生成模型方法,此判别方法不能用。

判别模型是直接学习判别函数f(x)或条件概率分布p(y|x),它是根据训练数据不同类别之间的特征差异来学习决策边界,如支持向量机,逻辑斯蒂回归等模型。因此在数据量不多的情况下判别模型的分类结果要好于生成模型,但是判别模型不能反应数据集的真实分布情况。

8. 总结

生成模型和判别模型一般处理监督学习的问题,这两类模型都是通过预测条件概率分布p(y|x)进行分类(判别模型也可通过决策函数分类),只是方式不同:

生成模型思想:

1)学习联合概率分布p(x,y);

2)贝叶斯理论计算条件概率p(y|x);

判别模型思想:

1)直接通过训练数据估计条件概率分布P(y|x)或决策函数f(x);

生成模型的分类器:

朴素贝叶斯

贝叶斯网络

马尔科夫随机场

隐马尔可夫模型

判别模型的分类器:

逻辑斯蒂回归

支持向量机

最近邻算法

条件随机场

推荐阅读

520 页机器学习笔记!图文并茂可能更适合你,文末附下载方法

李航老师《统计学习方法》(第2版)课件分享,文末附下载

Github | 吴恩达新书《Machine Learning Yearning》完整中文版开源

经典好书 | 141页的《Deep Learning with PyTorch》开源书籍

欢迎扫码关注,一起学习进步:

模式识别与机器学习 | 第三章 判别函数 3.1 线性判别函数 3.2 广义线性判别函数 3.3 分段线性判别函数 3.4 模式空间和权空间 3.5 Fisher线性判别 3.6 感知器算法 3.7 采用感知器算法的多类模式的分类 3.8 可训练的确定性分类器的迭代算法 3.9 势函数法 — 一种确定性的非线性分类算法 3.10 决策树简介 3.1 线性判别函数 3.1.1 用判别函数分类的概念 模式识别系统的主要作用 判别各个模式... 阅读详情

相关推荐

2024从零开始使用VSCode编程(静态页面制作篇)HTML+CSS+JS阶段

VSCode第一个前端静态页面的编写

ssrsrrn的博客 9591

关于生成式模型与判别式模型

判别式模型是 假设Model 规定lose function 然后使用algorithm 使得lose function 最小化就会得到Model的参数。 也就是直接从数据集中得到决策边界。 生成式模型是 使用已有的数据集得到特征的分布。一个Label下的分布,比如已知鳕鱼的条件下它的长与宽的分布。(这一步也就有了探究是怎样的特征分布造就了鳕鱼。探究物质生成的原因。) 当新的物体进来之后使用Bayes公式将特征参数带入分布中(已知特征的情况下是XX鱼的概率),得到哪一个Label(鱼.

qq_34993631的博客 844

VSCode多文件C语言项目编译实战:从配置到运行

本文详细讲解了如何在VSCode中配置多文件C语言项目的编译环境。通过手把手教学,指导读者创建项目结构、编写代码,并重点深度配置task.json与launch.json文件,实现一键编译和调试所有C文件,解决常见的“undefined reference”等链接错误,提升开发效率。

g8f9d0s1a2的博客 1098

机器学习中符号理解问题

1.p(x;y) 首先p(x;y)是一个关于y的函数,y是自变量。这是参数估计中常用到的似然函数,意思用变量y表示随机变量x(这里是小x,表示现在随机变量大X已经取了一个确定的值就是x)发生的概率。 理解了p(x;y),我们再看看p(x1,x2,…,xn;y),这个也不难理解,和p(x;y)的区别就是原来只有一个随机变量,现在有n个随机变量,他们的取值分别是(x1,x2,…,xn),我们现在用来表...

sabrinalx的博客 2718

Python程序—定子故障三相永磁同步电动机振动与电流数据集

1.0 kW 电机匝间短路故障数据: 正常匝间短路振动数据: 匝间短路故障,严重度为2.26%: 匝间短路故障,严重度为2.70%: 匝间短路故障,严重度为3.35%: 匝间短路故障,严重度为4.41%: 匝间短路故障,严重度为6.48%: 匝间短路故障,严重度为12.17%: 匝间短路故障,严重度为21.69%1.5 kW 电机匝间短路故障数据: 正常匝间短路振动数据: 匝间短路故障,严重度为1.57%: 匝间短路故障,严重度为1.88%: 匝间短路故障,严重度为2.34%

m0_66465741的博客 1322

手把手教你用DLP4500和海康相机搭建双目结构光系统(附完整代码获取路径)

本文详细介绍了如何利用DLP4500投影仪和海康工业相机搭建低成本双目结构光三维测量系统。从硬件选型、软件配置到结构光编码解码实现,再到三维重建全流程,提供了完整的实战指南和优化技巧,帮助用户以不到2万元的预算实现0.05mm精度的三维扫描。

weixin_32447969的博客 318

机器学习笔记之(4)——Fisher分类器(线性判别分析,LDA)

本博文为Fisher分类器的学习笔记~本博文主要参考书籍为:《Python大战机器学习》Fisher分类器也叫Fisher线性判别(Fisher Linear Discriminant),或称为线性判别分析(Linear Discriminant Analysis,LDA)。线性模型对于给定样本,其中为样本的第n种特征。线性模型的形式为:其中,为每个特征对应的权重生成的权重向量。其实这个线性模型也...

gwpscut的博客 5万+

东方财富网 数据访问接口及字段说明

东方财富网 数据访问接口和字段说明

雨中山草 2万+

判别模型和生成模型的区别

20210511 生成联合 深沉的河里的鲶鱼 判别条件 生成模型和判别模型的区别 1.监督学习分为生成模型和判别模型 有监督机器学习方法可以分为生成方法和判别方法(常见的生成方法有混合高斯模型、朴素贝叶斯法和隐形马尔科夫模型等,常见的判别方法有SVM、LR等),生成方法学习出的是生成模型,判别方法学习出的是判别模型。 2.生成模型 生成模型主要是求解联合概率密度,比如我们有数据集:(C,X),其中(c,x)表示其中一个样本,c为类别,x为特征。那么对于生成模型来说我们需要求解p(x,c)的联合概率密

kyle1314608的博客 1734

figma MCP + cursor如何将设计稿生成前端页面

Figma MCP配置与代码生成指南 本文详细介绍了如何在Cursor中配置Figma MCP(多上下文处理器)的完整流程:从获取Figma API密钥、设置MCP服务器配置,到添加代码生成规则。关键步骤包括生成Figm a个人访问令牌、配置cursor settings文件、启用MCP服务,以及设置代码规则(包含TypeScript/Vue技术栈规范、BEM命名规则等)。最后提供了将Figma设计稿转化为Vue页面的prompt模板,涵盖文件结构、图片处理、样式规范等具体要求,确保生成代码与设计稿高度一致

weixin_45644355的博客 2912

基于Transformer的股票市场多因子量化选股模型,深度解析:基于Transformer的股票市场多因子量化选股模型

传统多因子模型通常采用线性回归、岭回归或Lasso回归来估计因子权重,其核心假设是因子与未来收益之间存在线性关系。然而,现实中的股票市场具有典型的非线性、非平稳和高噪声特征。卷积神经网络(CNN)擅长提取局部特征,但难以捕捉全市场股票之间的全局依赖关系;循环神经网络(RNN)及其变体LSTM虽然能处理时间序列,但存在梯度消失问题且难以并行计算。Transformer的self-attention机制能够:直接建模任意两只股票之间的相关性动态计算因子权重而非静态线性组合。

YOLO 251

深度学习500问——Chapter02:机器学习基础(1)

机器学习起源于上世纪50年代,1959年在IBM工作的Arthur Samuel设计了一个下棋程序,这个程序具有学习的能力,它可以在不断的对弈中提高自己。由此提出了“机器学习”这个概念,它是一个结合了多个学科,如概率论、优化理论、统计等,最终在计算机上实现自我获取新知识,学习改善自己的这样一个研究领域。

不要给自己设限,尝试更多可能(思所向 皆可往) 1870

项目经理必看:如何建立高效的相关方沟通机制?

你是否遇到过这样的场景?客户突然说“这不是我要的”,开发团队抱怨“需求总变”,高层追问“进度滞后为什么不早说”?这些问题的根源往往是——相关方沟通机制失效。本文聚焦“如何建立高效沟通机制”,覆盖从识别相关方到持续优化的全流程,适用于IT、产品、工程等各类项目。本文将按“理解问题→拆解核心概念→掌握工具方法→实战落地→未来趋势”的逻辑展开,重点讲解“相关方分析矩阵”“沟通计划表”等实用工具,并用“组织生日派对”的案例贯穿全文,让抽象概念变得可感知。相关方识别:用“权力/利益矩阵”找对人(像派对邀请关键客人)

项目管理的博客 1295

机器学习基础

文章目录第二章 机器学习基础2.1 基本概念2.1.1 大话理解机器学习本质2.1.2 什么是神经网络2.1.3 各种常见算法图示2.1.4 计算图的导数计算2.1.5 理解局部最优与全局最优2.1.5 大数据与深度学习之间的关系2.2 机器学习学习方式2.2.1 监督学习2.2.2 非监督式学习2.2.3 半监督式学习2.2.4 弱监督学习2.2.5 监督学习有哪些步骤2.8 分类算法2.8.1 常用分类算法的优缺点?2.8.2 分类算法的评估方法2.8.3 正确率能很好的评估分类算法吗2.8.4 什么样

wooyang2018的博客 1280

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

第二章_机器学习基础

文章目录第二章 机器学习基础2.1 基本概念2.1.1 大话理解机器学习本质2.1.2 什么是神经网络2.1.3 各种常见算法图示2.1.4 计算图的导数计算2.1.5 理解局部最优与全局最优2.1.5 大数据与深度学习之间的关系2.2 机器学习学习方式2.2.1 监督学习2.2.2 非监督式学习2.2.3 半监督式学习2.2.4 弱监督学习2.2.5 监督学习有哪些步骤2.8 分类算法2.8.1 常用分类算法的优缺点?2.8.2 分类算法的评估方法2.8.3 正确率能很好的评估分类算法吗2.8.4 什么样

weixin_43897733的博客 1490

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

精心整理 | 机器学习初学者完全入门指南

目前人工智能(AI)是非常热门的话题,各行各业的产品也尽量与AI挂钩,使产品更具有竞争性和创造性。高级AI程师与调参工程师的最大区别是前者对机器学习算法原理有一定程度的理解,今天小编推荐...

苏克的博客 1028

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

数学大佬的机器学习算法完全入门指南

目前人工智能(AI)是非常热门的话题,各行各业的产品也尽量与AI挂钩,使产品更具有竞争性和创造性。高级AI程师与调参工程师的最大区别是前者对机器学习算法原理有一定程度的理解,今天小编推荐...

涛哥聊Python 811

机器学习笔记(2) —— 生成模型(概率模型)

前言正文生成模型和判别模型的区别为什么不使用回归模型生成模型 —— 后验概率高斯分布 前言 笔者一直在ipad上做手写笔记,最近突然想把笔记搬到博客上来,也就有了下面这些。因为本是给自己看的笔记,所以内容很简陋,只是提了一些要点。随缘更新。 正文 生成模型和判别模型的区别 生成模型:学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率分布。能够学习到数据生成的机制。...

weixin_43901221的博客 2636

生成式模型vs判别式模型

1.模型差别 生成式模型:由数据学习联合概率分布P(X,Y), 然后由P(Y|X)=P(X,Y)/P(X)求出概率分布P(Y|X)作为预测的模型。该方法表示了给定输入X与产生输出Y的生成关系 判别式模型:由数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型。判别方法关心的是对于给定的输入X,应该预测什么样的输出Y。 2.模型对比 (1)生成模型可以还原出联合...

扬帆起航 836

线性判别分析(LDA)和python实现(二分类问题)

线性判别分析(Linear Discriminant Analysis, LDA)是一种经典的线性学习方法,思路是将两种数据投影到一条直线上,使这两种数据之间尽可能远离,且同类数据尽可能聚集在一起 假如我们有如上图所示的2种数据集 $$X1=\left \{ x_{1}^{1}, x_{2}^{1},..., x_{n}^{1}\right \}$$ $$X2=\left \{ x_{1...

机器学习笔记 2万+

统计学习方法(1)——数据集、生成模型、判别模型

介绍了数据集和生成模型、判别模型

Lee_mengli的博客 1256

python分类算法可视化_基于jupyter notebook的python编程-----机器学习中的线性分类器及相应判定方法(鸢尾花数据集的分类可视化)...

基于jupyter notebook的python编程-----机器学习中的线性分类器目录一、机器学习中线性分类器的定义1、什么是线性分类器?2、线性分类器的实现原理3、设计线性分类器的主要步骤4、Fisher线性判别二、例题1--鸢尾花数据集的分类可视化及预测1、准备鸢尾花数据集2、打开jupyter进行python环境创建3、编写鸢尾花数据集的分类可视化代码4、鸢尾花数据集的分类可视化的整体p...

weixin_39687192的博客 1104

【机器学习】朴素贝叶斯分类器

本文所要介绍的算法是朴素贝叶斯分类器,分为输入的特征向量为连续和离散两种情况,属于生成模型。

HerosOfEarth的博客 5400

生成模型与判别模型

生成模型与判别模型 zouxy09@qq.com http://blog.youkuaiyun.com/zouxy09        一直在看论文的过程中遇到这个问题,折腾了不少时间,然后是下面的一点理解,不知道正确否。若有错误,还望各位前辈不吝指正,以免小弟一错再错。在此谢过。   一、决策函数Y=f(X)或者条件概率分布P(Y|X)        监督学习的任务就是从数据中学习一个模型(也叫分

zouxy09的专栏 12万+

根据数据的特性选择合适的机器学习方法(各机器学习模型比较)

根据数据选择模型: 各模型之间的对比:

dabingsun的博客 3398

7 判别式模型--机器学习基础理论入门

7 判别式模型–机器学习基础理论入门 7.1 判别式模型与生成模型的区别 判别式模型和生成模型的核心前置知识是判别式函数,其差异主要是对判别式函数的处理方式。一般来说,判别式模型和生成模型都是监督学习。 贝叶斯公式再谈 因为类先验的概率可以统计,所有类似然的概率是关键点。 生成模型的关注点 根据上课内容可知,自然现象大多满足正态分布,二项分布还是比较少的。如果已经假设类似然满足正态分布,那类似然函数也可以写出,接着判别式函数也可以写出,然后可以机进行计算,最后选择概率最大的类。 判别式模型的关注点

q339179198的博客 752
上一篇: 干货 | 清晰易懂的机器学习算法原理介绍
下一篇: 清晰易懂的马尔科夫链原理介绍
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值