2020/03/05 生成模型&生成学习(Generative Learning)的流程

在之前的学习2020/01/02 深度学习数学基础学习——朴素贝叶斯中,大概的了解了生成学习的原理,但是对算法实现的 完整流程 不够清晰,所以今天想通过对生成学习回顾,明确一下生成学习的流程框架。

学习资料:斯坦福CS229-note2-Generative Learning algorithms的1.2节

必要的概念

类别先验概率: \(P(c)\)

类条件概率: \(P(\vec x | c)\) ,其中\(\vec x=(x_{1},x_{2},...,x_{m}); m为属性\),\(\vec x\)可以想象成特征向量
举例: 当类别\(c\)是西瓜时,1号属性值\(x_{1}\)为4的概率。

类别后验概率: \(P(c|\vec x) \Leftrightarrow P(f_{\vec \theta}(\vec x)|\vec x) \Leftrightarrow P(\vec \theta|\vec x)\)(就是机器学习器)
举例: 当1号属性值\(x_{1}\)为4时,类别\(c\)是西瓜的概率。

步骤提炼

  1. 我们有一个数据集,它的样本是\((\vec x_{1}, \vec x_{2},...\vec x_{i}, ..., \vec x_{n})\), 这些样本对应的标签是\((y_{1}, y_{2}, ...,y_{i}, ..., y_{n}),其中y_{i} \in {0,1}\)。我们可以认为这个数据集是从这样一个分布 \((随机向量 \vec X, 随机变量Y)\) 中采样得到的,当然这个分布我们并不知道是什么,生成学习的目的 就是要 通过 有限的数据集(观测样本) 去估计这个分布 \((随机向量 \vec X, 随机变量Y)\) ,从而做出后续的决策
  2. 至于为什么是联合分布 \((随机向量 \vec X, 随机变量Y)\) 而不是后验分布 \((随机变量Y | 随机向量 \vec X)\) ,这是由贝叶斯规则简化得到的:?\(\begin{aligned} \arg \max _{y} p(y | x) &=\arg \max _{y} \frac{p(x | y) p(y)}{p(x)} =\arg \max_{y} p(x | y) p(y) = \arg \max_{y} p(x, y) \end{aligned}\)
  3. 为了估计这个分布 \(P(随机向量 \vec X, 随机变量Y) <==> P(随机向量 \vec X | 随机变量Y)P(随机变量Y)\) ,我们需要了解\(P(随机向量 \vec X | 随机变量Y)\) 和 \(P(随机变量Y)\) 都是什么。
    \(P(随机变量Y)\) 是类别先验概率,它可以通过统计样本中类别出现频次统计得到或者可以作为待估计参数 \(\phi\) 。
    \(P(随机向量 \vec X | 随机变量Y)\) 是类别条件概率, 它是我们的预测的关键! 由于我们事先并不知道它的分布,那我们如何对它建模呢?最简单的方法就是假设!最为一般的我们假设它服从 多元(维)高斯分布-CS229-note2-1.1节
  4. 根据最大后验估计,
    \(\begin{aligned} \ell\left(\phi, \mu_{0}, \mu_{1}, \Sigma\right) &=\log \prod_{i=1}^{m} p\left(x^{(i)}, y^{(i)} ; \phi, \mu_{0}, \mu_{1}, \Sigma\right) =\log \prod_{i=1}^{m} p\left(x^{(i)} | y^{(i)} ; \mu_{0}, \mu_{1}, \Sigma\right) p\left(y^{(i)} ; \phi\right) \end{aligned}\)
    通过最大化 \(\ell\) 求得参数:
  5. 为了便于可视化,我们假设 \(随机向量 \vec X\) 的长度(维度)为2。

    从图中可以看出,坐标在左下圆圈的点属于 \(\mu1\) 的分布,坐标在右上的点输入 \(\mu2 的分布\)。且越靠近圆心,点越密集,符合多元高斯概率密度函数的特点。

原文地址:https://www.cnblogs.com/Research-XiaoEMo/p/12419416.html

时间: 2024-07-29 02:02:16

2020/03/05 生成模型&生成学习(Generative Learning)的流程的相关文章

2020.03.09--03.20日JS学习分享

一.JS的三大组成部分 ESMAScript :语法部分 Bom :浏览器对象模型,一套操作浏览器属性和方法 Dom :文档对象模型,一套操作浏览器页面元素的属性和方法 二.ESMAScript - JS的数据类型转换 1.其他数据类型转数值类型 Number()---- 把需转换的变量当作一个整体 语法:Number(需转换的变量) 返回值:如果可以转成合法数字,那就是数字:如果是非合法数字,返回值则为NaN    parseInt()   语法:parseInt(需转换的变量)----把需转

生成模型和判别模型(转)

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

【机器学习基础】生成模型和判别模型

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

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

从概率分布的角度考虑,对于一堆样本数据,每个均有特征Xi对应分类标记yi. 生成模型:学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率分布.能够学习到数据生成的机制. 判别模型:学习得到条件概率分布P(y|x),即在特征x出现的情况下标记y出现的概率. 数据要求:生成模型需要的数据量比较大,能够较好地估计概率密度:而判别模型对数据样本量的要求没有那么多. 两者的优缺点如下图,摘自知乎 生成模型:以统计学和Bayes作为理论基础 1.朴素贝叶斯: 通过学习先验概率分

判别模型(Discriminative model)和生成模型(Generative model)

在前面的章节中,我们介绍过SVM.逻辑回归,这两者都属于监督学习中的一种,即训练数据的标签是给定的,我们希望通过对训练数据进行学习,这样对于给定的新样本数据,我们可以对它的类别标签进行预测.实际上,监督学习又可以分为两类,判别模型(Discriminative model)和生成模型(generative model),前面提到的SVM和逻辑回归都属于判别模型的一种.那么判别模型和生成模型有何区别? 1.1 判别模型和生成模型的区别 我们先来看以前讲过的SVM和逻辑回归(LR)有什么特点.这两者

生成学习算法(Generative Learning algorithms)

一:引言 在前面我们谈论到的算法都是在给定x的情况下直接对p(y|x;Θ)进行建模.例如,逻辑回归利用hθ(x) = g(θTx)对p(y|x;Θ)建模. 现在考虑这样一个分类问题,我们想根据一些特征来区别动物是大象(y=1)还是狗(y=0).给定了这样一个训练集,逻辑回归或感知机算法要做的就是去找到一个决策边界,将大象和狗的样本分开来.但是如果换个思路,首先根据大象的特征来学习出一个大象的模型,然后根据狗的特征学习出狗的模型,最后对于一个新的样本,提取它的特征先放到大象的模型中求得是大象的概率

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

https://www.cnblogs.com/realkate1/p/5683939.html 生成模型(Generative)和判别模型(Discriminative) 引言 最近看文章<A survey of appearance models in visual object tracking>(XiLi,ACMTIST,2013),在文章的第4节第1段有这样的描述,“Recently,visualobject tracking has been posed as a tracking

机器学习算法笔记2_1:生成学习算法(Generative Learning algorithms)

我们之前学习的算法都是基于p(y|x;θ), 他的思想是找出找出一个决策边界来将两类分开,而生成算法是先对两个类别分别建模,为了将样本分开,将样本代入两个模型,看样本与哪个类别更匹配. 这种试图直接从输入x映射到类别标签{0,1}的算法被称为判别学习算法:而通过计算p(x|y)(和p(y))来得到模型的算法被称为生成学习算法 通过贝叶斯函数得到p(y|x)=p(x|y)p(y)p(x), argmaxyp(y|x)=argmaxyp(x|y)p(y)p(x)=argmaxyp(x|y)p(x)

分类和逻辑回归(Classification and logistic regression),广义线性模型(Generalized Linear Models) ,生成学习算法(Generative Learning algorithms)

分类和逻辑回归(Classification and logistic regression) http://www.cnblogs.com/czdbest/p/5768467.html 广义线性模型(Generalized Linear Models) http://www.cnblogs.com/czdbest/p/5769326.html 生成学习算法(Generative Learning algorithms) http://www.cnblogs.com/czdbest/p/5771