对于一个分类问题,首先要有数据,然后需要找到一个模型f,定义loss function,最后找到表现最好的f的参数。

从概率上讲,分类问题其实就是根据训练数据估计新的数据属于哪一类的概率。

在讲概率生成模型前需要介绍高斯分布函数。

image

输入是特征向量x,输出是x的概率,高斯函数的形状由均值和协方差矩阵决定。

imageimage

首先假定训练数据的点服从高斯分布,那么我们需要找到训练数据背后的高斯分布,这样就能够给出新数据的概率。

如何找高斯分布模型呢?——使用极大似然估计的方法。

image

image

得到模型后就可以做分类了。

image

可以设定阈值,比如大于0.5就属于某一类。

image

事实上,对上述数据的分类准确率只有47%,即使考虑到其他维度的情况,准确率也只有64%.

因此需要改进模型,即两个高斯分布共享协方差矩阵,这样模型的参数就更少了。

image

image

改正后的模型准确率提高到74%,有意思的是分类边界变成线性的了。

image

可能最开始你就有疑问为什么要假定是高斯分布?其实这是视情况而定的,你也可以对二元特征使用伯努利分布。如果各项特征都独立,就变成了朴素贝叶斯分类器。

image

得到

image

下面从数学角度看看 z 是什么。

image

image

image

image

因为两个协方差矩阵是共享参数的:

image

最终得到z的表达式,其实是线性分类器。在概率模型中通过计算均值、协方差矩阵等来得到模型参数,

所以直接从训练数据中得到线性模型的参数不更好吗?

image

 

台湾大学 李宏毅 深度学习课程笔记:http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2017/Lecture/Classification.mp4

posted on 2017-08-31 17:31  J博士  阅读(4410)  评论(0编辑  收藏  举报