李宏毅机器学习P10 Classification 笔记

版权声明:站在巨人的肩膀上学习。 https://blog.csdn.net/zgcr654321/article/details/83476144

Classification的目的是给输入的对象一个恰当的分类。

如:

还是前面P2的宝可梦例子。

一只宝可梦可以用很多属性来描述,如:

如上图,一只宝可梦可以用7个属性来描述它。

当两只宝可梦相遇时,它们之间会有属性相克:

如何完成这个分类任务?

首先收集一些training data。

假如是一个二分类,结果接近1认为是分类1,结果接近-1认为是分类2。

那么可能会遇到下面的问题:

有时候class1和class2的分布可能出现右图这样右下角有一堆离散的数据。

当我们使用regression模型训练时,为了减少误差,最后训练出的模型可能是紫色的直线。

那么我们应该怎么做呢?

如果是二分类问题:

回忆高中知识:

如果我们把盒子换成分类:

回到宝可梦的例子,我们把宝可梦分成水系的宝可梦和一般的宝可梦。

ID小于400的作为训练数据,大于400的作为测试数据。

如何计算水系宝可梦里挑出来一个是海龟的概率?

每只宝可梦用一个向量表示,又称之为feature。

我们先把其中两个属性画成一个图。

高斯分布:

假设我们能够根据上面的79个宝可梦的数据,来估计出高斯分布的μ和

将μ和代入高斯分布的表达式,这样我们就可以写出高斯分布的函数。

假如有多个不同参数的高斯分布函数,它们都可sample出这79个数据,但是sample出各个点的几率不同。

这时候我们要用最大似然估计来找出最有可能的高斯分布的参数。

计算后的结果是:

现在我们可以开始分类了。

图上每一个点都可以计算是C1的几率。显然蓝色点的部分是水系宝可梦的几率比较大。

常见的情况是不同的class用同样的。因为虽然分类不同,但他们的散步差不多。

这样只需要比较少的变量就可以描述模型了。

再计算likelihood。

共用之后,分界线变成了一条直线。

回顾一下这个模型:

为什么选择高斯分布作为几率的模型?

你也可以选择其他的模型,这是你自己决定的。

naive bayes classifier:朴素贝叶斯分类器。

使用这个分类器的前提是数据独立同分布假设成立。

上下同除分子,把左下角的项写成z,我们可以发现函数变成了sigmoid函数的形式。

把z变形一下。

继续计算,得到最终的z。

,可继续化简,再把z写成wx+b的形式:

上面的方法中我们需要取得一些概率的样本,计算出μ和,才能计算出模型。那么我们能否有一个快捷的方法计算出w和b呢?

请看下一节。

猜你喜欢

转载自blog.csdn.net/zgcr654321/article/details/83476144
今日推荐