直觉认识

生成模型, 通过训练的模型, 可以求出 p(x|y), 即生成模型的本质是通过旧样本->模型 -> 新样本, 通过某种概率分布, 能自己生成样本, 这很厉害的.

判别模型, 就咱平时用得最多的, 只能用来判断, 不能生成新样本.

case1: 图片识别

以图片识别为例, 假设我们有两波小猫和小狗的图片.

对于生成模型来说, 会生成 猫的模型和狗的模型, 当新来一张图片就能知道是猫还是狗, 同时因其在训练时, 会尽力记住每个各种, 所有, 这模型, 也能生成新的图片哦.

而对于判别模型来说, 只要记住二者的差异即可进行判断了.而无暇关系具体的阿猫阿狗是什么样子的哦.

case2: 模拟身高

生成: \(P(x, y) = P(y)P(x|y)\) 可以从 y 来产生 x

判别: \(P(y|x)\)

学生身高:

男: 170, 172, 174, 176, 168

女: 160, 162, 164, 166

然后假设是服从高斯分布的, 即用样本估计总体可得:

\(p(身高|男) ~ \thicksim N(172, \sigma)\)

\(p(身高|男) \thicksim N(163, \sigma)\)

生成模型当有了概率分布, 就可进行 采样出样本, 新生x

当然, 我觉的直观还是从公式来看, 生成模型 \(p(x, y) = p(x)p(y|x)\) 与判别模型 \(p(y|x)\) 多了一个 \(p(x)\) 的项, 即生成模型既要做判别,也要考虑样本的分布, 而判别就是为了判别.

一般来说, 对于分类问题, 判别模型 > 生成模型 的, 因为, 判别更加专注. 但当数据量比较少的时候, 有可能会 生成模型 > 判别模型.

生成模型中的 \(p(x)\) 可以理解为一个先验概率, 这个跟之前整的 正则 是有联系的, 即, L1的正则跟 入 相关, L2正则跟高斯分布相关. 即每个先验, 在某种意义上, 相当于在我们的模型中加了一个正则项. 这就解释了在数据量少的情况下, 生成模型的 p(x) 起到了正则项的约束, 能降低模型的 过拟合 .

生成模型应用: 图片生成, 聊天机器人, 机器人写代码, 写诗, 写歌...

有向 vs 无向图

也是做一波之前的回顾, 从计算 联合概率 的角度来看

有向图

1 -> 2

3 -> 2

2 -> 4

5 -> 4

则根据这种依赖关系, 便可用条件概率的方式来计算其联合概率:

\(p(1,2, 3, 4, 5) = p(1) p(3) p(2|1, 3) p(5) p(4|2, 5)\)

无向图

1 - 2

3 - 2

1-3

2 - 4

4 -5

这种没有明细概率关系, 通过 score 或者能量函数的方式来求, 即将 其划分为多个簇 (max clique) , 分别计算其score 如:

\(p(1, 2, 3, 4, 5) = \frac {1}{z} \phi_1(1,2,3) \phi_2(2,4) \phi_3(4, 5)\)

归一化 是为了转为概率.

也可以这样两两一波 (pairwise) 划分:

\(\frac {1}{z} p(1, 2, 3, 4, 5) = \phi_1(1,3) \phi_2(1,2) \phi_3(2,3) \phi_4(2, 4) \phi_5(4, 5)\)

无向图的核心在于 如何定义 score 函数, 不同的score函数,得到的结果也不同的

栗子: 定义 score

假设有一个无向图, 就三角形3个顶点 a, b, c

为了更直观, 就假设 a, b, c 代表3个不同的人, 需求是看这个 3个老铁, 组队打篮球竞争力如何(概率 0-1)

然后就相对于一个特征提取

  • a, b, c 是否是一个学院 --> 提取特征 --> f1
  • a, b, c 是否打不同的位置 --> 提取特征 --> f2
  • a, b, c 是否经常一起打球 --> 提取特征 --> f3

定义 score(a, b, c), 其实就看不同模型的, 比如可以这样

\(score(a, b, c) = w_1 f_1 + w_2 f_2 + w_3 f_3\)

也可以像 CRF 模型那样定义:

\(log \ score(a, b, c) = \sum \limits _i w_i f_i\)

这一类也称为log linear model 如典型的 逻辑回归, CRF 等.

无向图完全取决于如何定义 score 函数, 从而训练出不同的模型.

  • Naive Beyes 是一个有向图(联合/条件概率) , 当转为无向图, 则 变为了 Logistic Regression
  • HMM (隐马尔可夫) 是一个有向图, 当转为无向图是, 则 变为了 Linear - chain CRFs
  • 贝叶斯网络 -> 无向后 -> General CRFs

对于无向图其实没有绝对的 分割块的方法, 这也取决于你如何定义, 比如, 我就要以拆分为 配对的形式, 同样是上面的图而言:

没有固定的方式哦, 完全取决我们的理解和假设. 这个过程是一个提取特征 的过程, 这里的 1, 2, 3, 4, 5可以看作是实例(样本) 不是特征变量.

之前本篇是想在通过 HMM -> CRF(条件随机场) 这样的序列生成模型, 但尝试了一波, 我感觉推导我好像搞不定暂时,主要是我这概率的基础有点薄弱, 不像微积分和线代那样, 随手就来...嗯..暂且熟练API算了, 先给自己留个坑, 后面用到了再来填吧...

回顾-生成 vs 判别模型-和图的更多相关文章

  1. PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)

    主讲人 planktonli planktonli(1027753147) 19:52:28 现在我们就开始讲第四章,第四章的内容是关于 线性分类模型,主要内容有四点:1) Fisher准则的分类,以 ...

  2. 生成模型(Generative Model)和 判别模型(Discriminative Model)

    引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X). 监督学习方法又可以 ...

  3. 生成模型(Generative Model)Vs 判别模型(Discriminative Model)

      概率图分为有向图(bayesian network)与无向图(markov random filed).在概率图上可以建立生成模型或判别模型.有向图多为生成模型,无向图多为判别模型. 判别模型(D ...

  4. 生成模型(Generative Model)与判别模型(Discriminative Model)

    摘要: 1.定义 2.常见算法 3.特性 4.优缺点 内容: 1.定义 1.1 生成模型: 在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下.它给观测值和标 ...

  5. 生成模型(Generative)和判别模型(Discriminative)

    生成模型(Generative)和判别模型(Discriminative) 引言    最近看文章<A survey of appearance models in visual object ...

  6. 生成模型(generative model)与判别模型(discriminative model)的区别

    监督学习可以分为生成方法与判别方法,所学到的模型可以分为生成模型与判别模型. 生成模型 生成模型由数据学习联合概率分布\(P(X,Y)\),然后求出条件概率分布\(P(Y|X)\)作为预测的模型,即生 ...

  7. tflearn kears GAN官方demo代码——本质上GAN是先训练判别模型让你能够识别噪声,然后生成模型基于噪声生成数据,目标是让判别模型出错。GAN的过程就是训练这个生成模型参数!!!

    GAN:通过 将 样本 特征 化 以后, 告诉 模型 哪些 样本 是 黑 哪些 是 白, 模型 通过 训练 后, 理解 了 黑白 样本 的 区别, 再输入 测试 样本 时, 模型 就可以 根据 以往 ...

  8. 生成模型 VS 判别模型 (含义、区别、对应经典算法)

      从概率分布的角度考虑,对于一堆样本数据,每个均有特征Xi对应分类标记yi. 生成模型:学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率分布.能够学习到数据生成的机制 ...

  9. .meta和模型贴图丢失

    一些策划的工程里经常出现模型贴图丢失,同样的工程,其他人没有问题.就算全部还原,也无法解决,最后只要美术在它的工程里重新关联贴图.一次偶然的机会,我发现把模型和贴图的.meta文件删除,让unity重 ...

  10. 9. PD逆向工程--由数据库转为模型(ER图)

    步骤: 1. 在控制面板-->管理工具(如果没找到管理工具,查看方式改为大图标)-->数据源(ODBC)-->用户DSN -->用户数据源下添加一个数据源(这里根据情况添加数据 ...

随机推荐

  1. ESP8266+AT指令,使用MQTT协议连接阿里云

    AT指令集 AT+CWMODE=1 AT+CWJAP="热点名","热点密码" AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com& ...

  2. Golang 实现本地持久化缓存

    // Copyright (c) 2024 LiuShuKu // Project Name : balance // Author : liushuku@yeah.net package cache ...

  3. 给大模型添加联网功能的免费方案,以langchain为例

    langchain介绍 LangChain 是一个用于开发由大型语言模型 (LLM) 驱动的应用程序的框架. 简单来说,它可以帮助你更轻松地构建利用 LLM(例如 OpenAI 的 GPT 模型.Go ...

  4. windows设置定时任务

  5. 面试题57. 和为s的两个数字

    地址:https://leetcode-cn.com/problems/he-wei-sde-liang-ge-shu-zi-lcof/ <?php /** 面试题57. 和为s的两个数字 输入 ...

  6. php中的转义字符

    " \n" ==>换行 "\r"==>回车 "\t"==>水平制表符 "\\"==> 反斜杠 & ...

  7. Qt+OpenCV实现图片压缩(JPEG、PNG)

    一.概述 需求: 1.编写一个小工具实现图片压缩 2.图片仅支持JPEG和PNG格式 3.目的是压缩图片在磁盘中所占用的大小 4.使用的开发语言是Qt.C++.OpenCV 5.压缩的质量可以动态调节 ...

  8. 华为平板+Zotero+Xodo+坚果云+Zotfile+Zotero OCR,实现论文笔记平板手写+Win自动生成,补充官方教程

    需要的硬件,软件,插件和实现的最终效果,rt. 1. Win,下载Zotero,坚果云 下载网址:https://www.zotero.org/download/ 版本:Zotero 6.如果是其他版 ...

  9. python3 报错ModuleNotFoundError: No module named 'apt_pkg'

    前言 apt update无法执行,python3 报错 ModuleNotFoundError: No module named 'apt_pkg' 这是因为将 python 版本升级后的问题 正确 ...

  10. Laravel 配置连接多个数据库以及如何使用

    目录 配置连接 配置 .env 文件 配置 \config\database.php 文件 使用 Schema Query Eloquent 配置连接 配置 .env 文件 /* 这部分是默认的数据库 ...