概览
p8:贝叶斯概型,从贝叶斯推出逻辑回归
疑问
1.高斯分布以及高斯分布多个参数的情况
2.极大似然估计
笔记
B站19年李宏毅 P8
1.为什么regression不适合做分类
-
regression 会惩罚那些太正确的样本,就是那些远远大于1的样本,使分界线下偏。
2.Ideal Alternatives:理想方案
-
loss function 是来计算 分类错误的次数
3.贝叶斯公式
- 条件:从两个盒子里随机抽取一个球,是蓝色;
-
问题:这个篮球从盒子1,2抽出来的几率分别是多少?
4.贝叶斯分类讲解
- 条件:这里有两个分类,class1和class2
- 问题:给我们一个x(ei我们要分类的对象),求他从某个class里面sample出来的几率是多少?
- 需要知道的值:红框标记的值。
- p(c1) 从class1里面抽一个x的几率(从class1抽的几率)
- p(c2) 从class2里面抽一个x的几率(从class2抽的几率)
- p(x|c1) 从class1里面抽一个x的几率(抽出 x 的几率)
- p(x|c2) 从class2里面抽一个x的几率(抽出 x 的几率)
- 图片上的 P(c1|x) 的公式就是 x 属于 class1 的几率,分子抽到 class1的几率乘以从class1里抽出 x的几率,除以分母抽到 class1的几率乘以从class1里抽出 x的几率+抽到 class2的几率乘以从class2里(sample)抽出 x的几率
- 想法:从一个模型中拿出x的几率,p(x)图片公式Generative Model:生成模型
5.Prior
- class1 水系的,class2 一般系
-
p(c1) 从c1中sample出一只宝可梦的概率,p(c2) 从c2中sample出一只宝可梦的概率。
6.Probability from Class:各个分类里面的概率
- P(x|C1)从水系里面挑出来一只宝可梦,这只宝可梦是海龟的概率
-
把每只宝可梦的数值做成一个向量,作为这个宝可梦的feature
7.Probability from Class - Feature :各个分类里面的概率-特征
- 选了两个维度的数据画在平面上(七个维度不能都画出来)
- 海龟没有在训练集里面,怎么去看。
- 假设这79个点是从一个高斯分布去sample出来的
-
我们现在要做的就是找出这个高斯分布
8.Probability from Class :属于这一类的概率
- 根据这79个点找出高斯分布的 μ 和 Σ,就知道对应的高斯分布
- 把x带入 fμ,Σ 的公式后,(图片黑色的公式)就可以算出对应 x 属于由目前这些样本猜测的高斯分布 sample 出来的概率。这个值里u(那个向量)越近,概率越大,否则越小
9.Maximum Likelihood : 最大似然估计 ——怎么找到上面说的 u 以及 Σ (Covariance)
- 这79个点可以从任何一个高斯分布里面sample出来,不管 u 以及 Σ (Covariance)在哪里。因为从高斯分布sample出一个点可以是空间上的任意一个点只不过有些地方几率高,有些地方几率低。**但没有一个地方的几率是 exactly 等于零的。
- 每个点都可能会sample出这79个点,但是每个高斯分布sample出79个点的 likelihood (可能性)不一样。右上角高斯分布的比较低,左下角sample出这79个点的可能性比较高。
- 如果给出一个高斯分布的 u 以及 Σ 我们就可以算这个高斯分布sample出这79个点的几率
- 最下面这个这个公式L(u,Σ),input就是 u 和 Σ,做的事情就是把 u 和 Σ 代入 likelihood 的 function 里面,然后就算出(根据图上这个公式L(u,Σ))算出这个高斯分布 sample出这79个点的概率是多大。
-
公式L(u,Σ) 的解释:因为这79个点是独立被sample出来的,所以这个 Gaussian sample出这79个点的几率,就是这个 gaussian sample出第一个点的几率乘以 这个 gaussian sample出第二个点的几率乘以这个 gaussian sample出第三个点的几率。。。 。。。 乘以 这个 gaussian sample出第79个点的几率
10.Maximum Likelihood 极大似然估计
- 我们有79只水系的宝可梦,我们知道这79个宝可梦是从某一个 gaussian 被sample出来的,接下来要做的事情就是找到这个 guassian,这个 guassian sample出这79个点的几率是最大的。我们就把这个 gaussian 当作sample出这79个点的 gaussian。这个gaussian的 u 和 Σ 写作 u* 和 Σ* 。
- u* 就是这个79个报可能数据的平均值。
- Σ* 就是把 u* 算出来之后,用每一个 x(二维向量) 减去 u* 得到一个向量,然后用这个向量乘以这个向量的转置。
-
Σ* 的另外一种算法,对 𝐿(𝜇,Σ) 对 Σ 作微分,解出来微分是零的点。
11.Maximum Likelihood
- 根据上面提到的计算方式算出
- 最有可能sample出 class1 的gaussian的 u1 和 Σ1
-
最有可能sample出 class2 的gaussian的 u2 和 Σ2
12.Now we can do classification 现在我们可以做分类的问题了
- 做分类问题其实就是给我一个x,他是从c1来的几率
- 如果最后,𝑃(𝐶|𝑥 ) 大于0.5,那么x就属于class1
- p(c1),p(c2)很容易算,就是对应属于class1,class1的样本数,除以总的样本数(两个加起来)
- 𝑃 (𝑥|𝐶1),𝑃 (𝑥|𝐶2) 就是我们之前算出来的高斯分布函数 (gaussian distribution),这个两个的高斯分布函数的u* 和 Σ* 都已经算出来了。
-
现在把现在这个样本的二维向量带入进去就可以得到对应的概率。
13.result
- 左上角的图:这个图上的每一个点(宝可梦两个能力数值的二维向量)都可以计算出一个 𝑃 (𝐶1|𝑥) (e.i x属于class1的概率)
- 由于是分类问题 𝑃 (𝐶1|𝑥) >0.5 则这个x属于class1,否者属于class2
- 根据 𝑃 (𝐶1|𝑥) = 0.5 画一条线,右上方大于 0.5 属于class1 左下方属于 class2
- 这个是二维的数据,每个宝可梦有七个feature,可以建一个7维向量,则,u1 和 u2 是一个七维的向量(每个类型里面的所有维度数据的平均值)
- Σ1 和 Σ2 是一个77的矩阵,参考上面 22 矩阵的算法。
14.Modifying Model : 修改模型
- 比较常见的做法是:不同的class可以share 同一个 Covariance matrix(协方差矩阵)
- Covariance matrix 是跟 input 的 feature 的平方成正比的,当 feature size 很大的时候,增长可以是非常快的。所以在这种情况下,对两个不同的 gaussian 给它不同的 Covariance matrix ,这样的话 model 的参数可能会太多,model 的参数可能会太多,Covariance matrix 就会比较大,比较容易 overfitting。
-
想要有效的减少参数的话,可以对这两类的样本给同样的 Covariance matrix 强迫他们公用同一组 Covariance matrix ,
15.Modifying Model
- 两组样本共用一个 Covariance matrix
- 怎么找到对应的 𝜇1, 𝜇2, Σ,使得L( 𝜇1, 𝜇2, Σ)最大
- 𝜇1 and 𝜇2 is the same,取对应类型的平均值
-
Σ 看图片右下角公式:根据每个分类算出来的 Covariance matrix weight by element 数目(加权平均)
16.Modifying Model -result
- 分界线是一条直线,我们也说这个是一个linear model
- 如果不共用协方差矩阵,分界线是个曲线,就不是linear model。
-
这个是七维空间的结果,并不知道是怎么分的。
17.Three Steps ——回顾分类的三个步骤
- 首先有一个model,也就是function set ,function set 里面的 function 都是 𝑃 (𝐶1|𝑥) 的样子。
- input一个x,我们有 class1,2 的 p(c1), p(c2)。class1 和class2 产生 x 的 概率分布函数
- p(c1), p(c2)以及 class1 和class2 产生 x 的 概率分布函数 就是model的参数
- 选择不同的 class1 和class2 产生 x 的 概率分布函数 就会得到不同的 function,不同的 mean,不同的 Covariance matrix 就会得到不同的概率分布函数。这些不同的分布函数集合起来就是一个model就是一个function set
- 怎么决定分类:If 𝑃 (𝐶 |𝑥) > 0.5, output: class 1 Otherwise, output: class 2
-
极大似然估计找出参数的好坏——看图片
18.Probability Distribution
- 选高斯还是其他分布是自己决定的
- 如果每一个样本的每一个feature都是独立的,可以选择一维gaussian。(If you assume all the dimensions are independent, then you are using Naive Bayes Classifier.)
-
如果对一个二元特征,更适合伯努利分布。就是概率论里面不同分布所使用的地方(For binary features, you may assume they are from Bernoulli distributions.)
19.Posterior Probability:后验概率
-
分子分母同除分子之后,把右下角那一块带入z,会得到 sigmoid function,右下角是 sigmoid function 的图像
20.公式化简到最后的结果
-
直接找w,b