Probabilistic Generative Model
Classification:分类问题,即输入一个特征向量,输出该特征向量所属的类别。
如果用Linear Regression解决分类问题的话,考虑二分类的话,可能会惩罚非常正确的数据,考虑有很多类别的话,不同类别之间不好划分。
概率生成模型:
最终需要解决的问题是,任意给定一个x,属于某类别如C1的概率是多少。
假设所有的点是由高斯分布产生的,需要找到的是决定高斯分布的u和∑,u决定概率密度最大的位置即均值,∑决定范围即方差。这里用的并不是高斯分布的概率公式,而是高斯分布的概率密度函数,跟概率成正比。
但是不同参数的高斯分布都有可能产生如图所示的点的分布,他们之间的区别是,对于训练数据来说不同参数的高斯分布每个点产生的概率是不一样的,由于是独立分布,一种分布产生的几率是每个点的可能性的乘积。可以用这个乘积来表示我们要train的模型的loss function。
在train的过程中我们要找的参数是使乘积式最大的u和∑,u即数据的平均值,∑的计算如上图所示。
计算出class1和class2的高斯分布的参数后可以代入公式中,求解x属于C1的概率。
满足机器学习的三大步骤模型的modify:
如果class1和class2共用一个∑,boundary会变成线性的。共用参数的话,可以减少参数的个数,参数多的话容易造成overfitting。
注意:概率的分布,也不一定非要选高斯分布,如果二分问题的话,可以考虑伯努利分布,如果各个维度之间是独立的,可以考虑朴素贝叶斯(naive bayers)。其中 naive(朴素)是指的对于模型中各个 feature(特征) 有强独立性的假设,并未将 feature 间的相关性纳入考虑中。
经过一轮计算之后,可以得到 z = w*x + b这样一个线性关系,然后sigmoid一下会使结果介于0到1之间。这跟下面要学的Logistic Regression有关。