李宏毅机器学习05:概率生成模型 Probabilistic Generative Model

文章目录

  • 李宏毅机器学习05:概率生成模型 Probabilistic Generative Model
    • 一、分类`Classification`的概念
      • (1)分类是什么?
      • (2)分类的例子
        • 1.应用场景
        • 2.Example Application示例应用
    • 二、分类`Classification`的实现
      • (1)不能用回归实现分类
      • (2)其他模型
      • (3)概率生成模型 Probabilistic Generative Model
        • 1.预备概率知识
          • ①全概率公式&贝叶斯公式
          • ②高斯分布(正态分布)
          • ③极大似然估计
        • 2.分类问题转化为概率问题
          • ①问题引入:
          • ②问题类比转化
          • ③生成概率模型
          • ④根据模型进行分类
          • ⑤改进模型Modifying Model
          • ⑥概率模型的说明
        • 3.总结概率生成模型的三步
        • 4.概率生成模型的数学推导

一、分类Classification的概念

(1)分类是什么?

分类要找一个函数 function,输入对象的特征x, 输出是该对象属于 n 个类别中是属于哪一个。

(2)分类的例子

1.应用场景

  • Credit Scoring 信用评分【二分类问题】

    • Input: income, savings, profession, age, past financial history ……
      输入:收入,储蓄,行业,年龄,金融史…
    • Output: accept or refuse
      输出:是否拒绝拒绝贷款
  • Medical Diagnosis医疗诊断【多分类问题】
    • Input: current symptoms, age, gender, past medical history ……
      输入:当前症状,年龄,性别,医疗史…
    • Output: which kind of diseases
      输出:患了哪种疾病
  • Handwritten character recognition手写文字辨识【多分类问题】
    • Input:handwriting
      输入:手写的汉字
    • output:character
      输出:一个汉字
  • Face recognition人脸识别【多分类问题】
    • Input: image of a face
      输入:人脸的图片
    • output: person
      输出:人

2.Example Application示例应用

对宝可梦的属性进行分类:
宝可梦的属性值可以作为输入参数

  • Total: sum of all stats that come after this, a general guide to how strong a pokemon is
    总计:在此之后的所有统计数据的总和,一个关于口袋妖怪有多强的一般参考。
  • HP: hit points, or health, defines how much damage a pokemon can withstand before fainting
    生命值:命中点或健康,定义了一个口袋妖怪在昏厥之前能承受多少伤害。
  • Attack: the base modifier for normal attacks (eg. Scratch, Punch)
    攻击:正常攻击(例如。 划痕,穿孔)·
  • Defense: the base damage resistance against normal attacks
    防御:对正常攻击的损伤抵抗能力
  • SP Atk: special attack, the base modifier for special attacks (e.g. fire blast, bubble beam) 特殊攻击,特殊的攻击(例如。 火焰爆炸,气泡光束)
  • SP Def: the base damage resistance against special attacks
    特殊防御:基础损伤抵抗特殊攻击
  • Speed: determines which pokemon attacks first each round
    速度:决定哪一个口袋妖怪攻击第一轮

二、分类Classification的实现

(1)不能用回归实现分类

以二分类为例:

收集当前神奇宝贝的特征数据和属性数据,例如:皮卡丘(x1,y^1)(x^1,\hat{y}^1)(x1,y^​1)电属性;杰尼龟 (x2,y^2)(x^2,\hat{y}^2)(x2,y^​2)水属性;···;妙蛙草(xn,y^n)(x^n,\hat{y}^n)(xn,y^​n)草属性

Training: Class 1 means the target is 1; Class 2 means the
target is -1
Testing: closer to 1 → class 1; closer to -1 → class 2

将分类看作回归的方法:

  • 类别一的数值设为1.
  • 类别二的数值设为 -1


使用线性模型y=b+w1x1+b2w2y=b+w_1x_1+b_2w_2y=b+w1​x1​+b2​w2​ 上图中蓝色的圈代表类别一,红色的叉代表类别二。

如果两种类别分布如左图所示,绿色的直线是一个平面b+w1x1+b2w2=0b+w_1x_1+b_2w_2=0b+w1​x1​+b2​w2​=0于y=0y=0y=0的交线,平面的左上方是小于零的部分,右下方是大于零的部分,看似回归解决了分类的问题,如果加入一些偏向右下角的数据,回归的方法会认为数据出错,得到的回归模型会向下偏,如右图紫色的线,但实际上绿色的模型优于紫色的模型。
因此,回归的方法失效。

• Multiple class: Class 1 means the target is 1; Class 2 means the target is 2; Class 3 means the target is 3 ……problematic
多类:类1意味着目标是1;类2意味着目标是2;类3意味着目标是3……有问题

如果把标签用数值表示,就会对标签之间的关系强加上数值上的相邻关系。

(2)其他模型

以二分类模型为例

  • step1:建立模型

    Function (Model):
    x→Function:x\to Function:x→Function:
    Output={class1if g(x)>0class2if g(x)⩽0Output = \begin{cases} class 1 &\text{if } g(x)>0 \\ class 2 &\text{if } g(x)\leqslant0 \end{cases}Output={class1class2​if g(x)>0if g(x)⩽0​

    Function内置模型g(x)的输出,当g(x)>0时输出为class1,否则输出class2

  • step2:评估模型的好坏
    损失函数Loss Function
    L(f)=∑i=1nδ(f(xi)≠y^i)L(f)=\displaystyle\sum_{i=1}^n\delta(f(x_i)\not=\hat y_i)L(f)=i=1∑n​δ(f(xi​)​=y^​i​)

    δ(f(xi)≠y^i)\delta(f(x_i)\not=\hat y_i)δ(f(xi​)​=y^​i​)表示当xix_ixi​是y^i\hat y_iy^​i​时为0,否则为1,Loss Function计算的是预测模型不正确的次数。

  • step3:找出最好的模型
    方法有 感知机Perceptron, 支持向量机SVM
    (本节不做讲述)

(3)概率生成模型 Probabilistic Generative Model

1.预备概率知识

①全概率公式&贝叶斯公式
  • 全概率公式

    • 有穷剖分(或分割)

      设随机试验 EEE 的样本空间为 Ω\OmegaΩ ,{A1,A2,......,An}\{ A_1, A_2 ,... ..., A_n\}{A1​,A2​,......,An​} 为 EEE 的一组事件,且满足 :

      • (1)Ai⋂Aj=ϕ,∀i≠j;i,j=1,2,3...,nA_i \bigcap A_j=\phi ,\forall i\not =j ;i,j=1,2,3...,nAi​⋂Aj​=ϕ,∀i​=j;i,j=1,2,3...,n.即 Ai,AjA_i,A_jAi​,Aj​两两互斥;
      • (2) ⋃i=1nAi=Ω\displaystyle\bigcup_{i=1}^nA_i=\Omegai=1⋃n​Ai​=Ω

      则称事件组 {A1,A2,......,An}\{ A_1, A_2 ,... ..., A_n\}{A1​,A2​,......,An​} 为样本空间 Ω\OmegaΩ 的一个有穷剖分(或分割).

    • 全概率公式

      设随机试验 EEE 的样本空间为 Ω\OmegaΩ ,BBB 为 EEE 中的一个事 件,{A1,A2,......,An}\{ A_1, A_2 ,... ..., A_n\}{A1​,A2​,......,An​} 为 Ω\OmegaΩ 的一个有穷剖分,且 P(Ai)>0,i=1,2,3...,nP(A_i)>0,i=1,2,3...,nP(Ai​)>0,i=1,2,3...,n .则
      P(B)=∑i=1nP(Ai)P(B∣Ai),i=1,2,3...,nP(B)=\displaystyle\sum_{i=1}^nP(A_i)P(B|A_i), i=1,2,3...,nP(B)=i=1∑n​P(Ai​)P(B∣Ai​),i=1,2,3...,n

  • 贝叶斯公式

    • 后验概率:

      将 Ai(i=1,2,3...)A_i (i=1,2,3...)Ai​(i=1,2,3...) 看作引起 BBB 发生的全部可能的“原因”,那 么引例中的问题可以这样提出:若试验中 BBB
      发生了,问引起 BBB 发生的原因是事件 Ai(i=1,2,3...)A_i (i=1,2,3...)Ai​(i=1,2,3...) 的概率称做“后验概率”

    • 贝叶斯公式定义:

      设随机试验 EEE 的样本空间为 Ω\OmegaΩ ,BBB 为 EEE 中的一个事件, A1,A2,......,AnA_1, A_2 ,... ..., A_nA1​,A2​,......,An​为
      Ω\OmegaΩ 的一个有穷剖分,如果 P(B)>0P(B)>0P(B)>0 , P(Ai)>0,i=1,2,...,nP(A_i)>0,i=1,2,...,nP(Ai​)>0,i=1,2,...,n,则
      P(Ai∣B)=P(Ai)P(B∣Ai)∑j=1nP(Aj)P(B∣Aj),i=1,2,3...,nP(A_i|B)=\large\frac{P(A_i)P(B|A_i)}{\small\displaystyle\sum_{j=1}^n P(A_j)P(B|A_j)}\normalsize, i=1,2,3...,nP(Ai​∣B)=j=1∑n​P(Aj​)P(B∣Aj​)P(Ai​)P(B∣Ai​)​,i=1,2,3...,n

②高斯分布(正态分布)
  • n元正态随机变量的矩阵表示:

    n元随机变量: x=(x1,x2,...,xn)Tx=(x_1,x_2,...,x_n)^Tx=(x1​,x2​,...,xn​)T,
    其数学期望为:μ~=(E(X1),E(X2),...,E(Xn))T\tilde\mu=(E(X_1),E(X_2),...,E(X_n))^Tμ~​=(E(X1​),E(X2​),...,E(Xn​))T,
    协方差矩阵为:C=(cij)n×n,cij=Cov(Xi,Xj),i,j=1,2,...,nC=(c_{ij})_{n\times n},c_{ij}=Cov(X_i,X_j),i,j=1,2,...,nC=(cij​)n×n​,cij​=Cov(Xi​,Xj​),i,j=1,2,...,n,
    则n元正态随机变量 X~=(X1,X2,...,Xn)T,n⩾1\tilde X=(X_1,X_2,...,X_n)^T,n\geqslant1X~=(X1​,X2​,...,Xn​)T,n⩾1 其联 合概率密度为
    f(x1,x2,...,xn)=1(2π)n2∣C∣12e−12(x−μ~)TC−1(x−μ~)f(x_1,x_2,...,x_n)=\Large\frac{1}{(2\pi)^{\frac{n}{2}}|C|^{\frac{1}{2}}}e^{-\frac{1}{2}(x-\tilde\mu)^TC^{-1}(x-\tilde\mu)}f(x1​,x2​,...,xn​)=(2π)2n​∣C∣21​1​e−21​(x−μ~​)TC−1(x−μ~​)

③极大似然估计
  • 极大似然估计

    • 离散型

    设离散型总体X∼p(x,θ),θ∈ΘX\sim p(x,\theta),\theta\in\ThetaX∼p(x,θ),θ∈Θ,θ\thetaθ 未知,X1,...,XnX_1,...,X_nX1​,...,Xn​
    为样本,其观察值为x1,...,xnx_1,...,x_nx1​,...,xn​ ,则事件{X1=x1,......,Xn=xn}\{X_1=x_1,......,X_n=x_n\}{X1​=x1​,......,Xn​=xn​} 发生的概率为

    • 似然函数:L(θ)=Πi=1np(xi;θ)L(\theta)=\displaystyle \Pi_{i=1}^np(x_i;\theta)L(θ)=Πi=1n​p(xi​;θ)
    • 连续型

    连续型总体 XXX 概率密度为f(x;θ),θ∈Θf(x;\theta),\theta\in\Thetaf(x;θ),θ∈Θ,θ\thetaθ 未知. X1,...,XnX_1,...,X_nX1​,...,Xn​ 为样本,则样本在观察值 x1,...,xnx_1,...,x_nx1​,...,xn​ 邻域发生的概率 Πi=1np(xi<Xi<xi+Δxi)≈Πi=1nf(xi;θ)Δxi\Pi_{i=1}^np(x_i<X_i<x_i+\Delta x_i)\approx\Pi_{i=1}^nf(x_i;\theta)\Delta x_iΠi=1n​p(xi​<Xi​<xi​+Δxi​)≈Πi=1n​f(xi​;θ)Δxi​,Δxi\Delta x_iΔxi​与参数 θ\thetaθ无关 因此,

    • 似然函数:L(θ)=Πi=1nf(xi;θ)L(\theta)=\displaystyle \Pi_{i=1}^nf(x_i;\theta)L(θ)=Πi=1n​f(xi​;θ)
  • 极大似然原理

    L(θ^(x1,...,xn))=maxθ∈ΘL(θ)L(\hat\theta(x_1,...,x_n))={max}_{\theta\in\Theta}L(\theta)L(θ^(x1​,...,xn​))=maxθ∈Θ​L(θ)
    极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,… ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现的概率P(A)较大。

2.分类问题转化为概率问题

①问题引入:

盒子抽球问题:

说明:假设两个盒子,各装了5个球,还得知随机抽一个球,抽到的是盒子1的球的概率是P(B1=23)P(B_1=\frac2 3)P(B1​=32​) ,是盒子2的球的概率是P(B1=13)P(B_1=\frac1 3)P(B1​=31​)。从盒子中蓝色球和绿色球的分配可以得到:

  • 在盒子1中随机抽一个球
    蓝色的概率为 4/5,绿的的概率为 1/5
  • 在盒子2中随机抽一个球
    蓝色的概率为 2/5,绿的的概率为 3/5

问题:如果抽到蓝色的球,计算此球来自某一个盒子的概率。

可以根据贝叶斯公式计算:
P(B1∣Blue)=P(Blue∣B1)P(B1)P(Blue∣B1)P(B1)+P(Blue∣B2)P(B2)P(B_1|Blue)=\Large\frac{P(Blue|B_1)P(B_1)}{P(Blue|B_1)P(B_1)+P(Blue|B_2)P(B_2)}P(B1​∣Blue)=P(Blue∣B1​)P(B1​)+P(Blue∣B2​)P(B2​)P(Blue∣B1​)P(B1​)​

②问题类比转化

将两个盒子看作两个类别:
class 1,class 2.
抽取的小球可以看作待分类的数据

想要得到数据的分类,类比盒子抽球的模型:
当抽到数据xxx,时
它是从class 1 得到的概率为:P(C1∣x)=P(x∣C1)P(C1)P(x∣C1)P(C1)+P(x∣C2)P(C2)P(C_1|x)=\Large\frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)}P(C1​∣x)=P(x∣C1​)P(C1​)+P(x∣C2​)P(C2​)P(x∣C1​)P(C1​)​
它是从class 2得到的概率为:P(C2∣x)=P(x∣C2)P(C2)P(x∣C1)P(C1)+P(x∣C2)P(C2)P(C_2|x)=\Large\frac{P(x|C_2)P(C_2)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)}P(C2​∣x)=P(x∣C1​)P(C1​)+P(x∣C2​)P(C2​)P(x∣C2​)P(C2​)​

通过计算某个数据属于不同class的概率,若数据属于某个class的概率最大,则可以将数据分类为这个类别。
因此,只要知道以下数值特征,即可对数据进行分类:

  • P(C1)P(C_1)P(C1​):数据属于Class 1的概率
  • P(C2)P(C_2)P(C2​):数据属于Class 2的概率
  • P(x∣C1)P(x|C_1)P(x∣C1​):class 1中得到 xxx 的概率
  • P(x∣C2)P(x|C_2)P(x∣C2​):class 2中得到 xxx 的概率

这种思路叫做生成模型Generative Model。因为有了这个模型,就可以生成一个 x,可以计算某个 x 出现的概率,知道了x的分布,就可以自己产生 x 。

③生成概率模型
  • P(C1)P(C_1)P(C1​):数据属于Class 1的概率可以通过训练集中class 1 的占比表示
  • P(C2)P(C_2)P(C2​):数据属于Class 2的概率可以通过训练集中class 2的占比表示

需要通过训练集获取以下数值:

  • P(x∣C1)P(x|C_1)P(x∣C1​):class 1中得到 xxx 的概率
  • P(x∣C2)P(x|C_2)P(x∣C2​):class 2中得到 xxx 的概率

Assume the points are sampled from a Gaussian distribution,
可以假设所有的的数据均是来自于同一个高斯分布的概率模型,
Find the Gaussian distribution behind them
因此要通过数据找到这个分布

高斯分布(正态分布)Gaussian Distribution
fμ,Σ(x)=1(2π)D/21∣Σ∣1/2exp{−12(x−μ)TΣ−1(x−μ)}f_{\mu,\Sigma}(x)=\Large\frac{1}{(2\pi)^{D/2} }\frac{1}{|\Sigma|^{1/2}}\normalsize exp\{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\}fμ,Σ​(x)=(2π)D/21​∣Σ∣1/21​exp{−21​(x−μ)TΣ−1(x−μ)}

Input: vector x, output: probability of sampling x 输入:向量x,输出:采样的概率x,
The shape of the function determines by mean

【李宏毅机器学习】05:概率生成模型Probabilistic Generative Model相关推荐

  1. MATLAB算法实战应用案例精讲-【数模应用】概率生成模型(Generative Model)(补充篇)

    目录 前言 几个高频面试题目 非概率模型和概率模型的区别 非概率模型 概率模型

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

    假设有两类数据,每一类都有若干个样本:概率生成模型认为每一类数据都服从某一种分布,如高斯分布:从两类训练数据中得到两个高斯分布的密度函数,具体的是获得均值和方差两个参数:测试样本输入到其中一个高斯分布 ...

  3. 生成模型(Generative Model)

    1. 基本概念 目标是学习样本点的分布.学到后可以生成数据,故称为生成模型. 2. 实现步骤 (1)  假设样本点的分布(例如高斯分布) (2) 通过样本点计算均值和方差 通常使用联合分布以减少参数的 ...

  4. 机器学习中的生成模型与判别模型

    1.概述 在机器学习中,对于有监督学习,它的任务就是要学习一个模型,应用这个模型,对给定的输入预测相应的输出.监督学习方法可以分为生成方法(generative approach)和判别方法(disc ...

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

    目录 1 决策函数Y=f(X)或者条件概率分布P(Y|X) 2 生成方法和判别方法 2.1 生成方法 2.2 判别方法 3 特点及对比 3.1 生成模型 3.2 判别模型 3.3 总结 4 对于跟踪算 ...

  6. 【机器学习】贝叶斯模型(Bayesian Model)

    贝叶斯模型 最小错误率贝叶斯 先验概率 似然概率 二类判决问题 最小错误率贝叶斯公式 误差 例题 极大似然估计 例题 最小风险贝叶斯 癌症诊断 分类器设计 生成模型(Generative Model) ...

  7. 李宏毅机器学习课程4~~~分类:概率生成模型

    分类问题用回归来解决? 当有右图所示的点时,这些点会大幅改变分类线的位置.这时候就会导致整体的回归结果变差.当把多分类当成回归问题,类别分别为1,2,3,4--,因为回归的问题是预测具体的值,这样定义 ...

  8. 李宏毅 机器学习 2016 秋:5、Classification:Probabilistic Generative Model

    文章目录 五.Classification:Probabilistic Generative Model 五.Classification:Probabilistic Generative Model ...

  9. hung-yi lee_p10_分类/概率生成模型

    文章目录 研究背景 本节目的 本节要使用的例子 研究过程 把分类当成回归来算 理想做法 找到最佳函数的方法 研究成果运用 运用过程 结果 方法改进 模型总结 讨论 为什么选择正态分布模型? 关于后验概 ...

最新文章

  1. CVPR 2021评审出炉,得分惨不忍睹,面对奇葩评审该如何反击?
  2. keil4 动态调式断不能先打断点嘛_为什么说抖音“鸽武缘”的通背拳是不能实战的“花架子”...
  3. Thinkphp的知识内容
  4. win10下用docker安装onlyoffice服务
  5. vmware虚拟机克隆CentOS7 出现的网络问题解决办法
  6. 稳居亚太第一,阿里云进军全球;李彦宏候选工程院院士;苹果巨大损失:工业设计核心元老纷纷离职……...
  7. 【微软黑科技一周概览】
  8. Java中Object转Map类型,Map转Object类型
  9. linux service start|stop|restart
  10. 关于mac的open命令
  11. 【PC工具】更新电脑考证题库,消防考试题库,司法考试,大学英语四六级题库,教师资格考试题库等...
  12. Silvaco TCAD LTPS双栅器件仿真收敛不了,有没有好的解决办法
  13. java虚拟机 方法区_java虚拟机---方法区[szx]
  14. 阿里云注册账号、购买云服务器、搭建网站全流程(图文教程)
  15. 大数据和位置智能:助力企业数字化战略落地
  16. uniApp H5项目中的压缩图片
  17. ov2604寄存器配置
  18. html5之音乐播放器实例 (可以切换歌曲和背景照片)
  19. Windows技能(二):有效清理C盘垃圾的一些使用技巧 | C盘垃圾爆满
  20. 软件工程头歌软件测试(实验五)软件项目管理(实验六)

热门文章

  1. netcore之Http请求
  2. 深度学习自学(十九):caffe添加深度可分离卷积
  3. VALSE学习(十九):VALSE2018-历届资源汇总
  4. java 注册表 乱码_修改注册表 消除应用软件的乱码显示
  5. 编译原理-提取左公因子---消除左递归(自己看)
  6. 编译原理-FIRST表-FOLLOW表-LL1表(含python代码)
  7. 最长公共子串_两个字符串的最长公共子串(后缀自动机)
  8. Windows2012服务器无法复制粘贴问题
  9. 学习ES6路线了解图
  10. mysql 空间查询_MYSQL空间查询函数