机器学习之分类入门

原创 2018-02-14 16:37 阅读(174)次

分类问题    

数学问题    

线性回归不适用    

目标    



什么是分类问题

       判断一个水果,他是苹果,梨子,葡萄,还是桔子。这就是分类问题。

       判断一个人是否可以得到贷款,这也是分类问题。

       判断一颗植物是否还能存活,这同样是分类问题。

       判断一个水果还过多久才能成熟,这就不是一个分类问题了,这是一个回归问题。因为他不是有限项中的选择题,而是在一个可能的无限的连续值中找出一个。

从上面这4个问题我们能发现共同点和不同,分类问题预测的结果都是离散的,有限的。而回归问题预测的是连续的结果。

第1个问题预测结果的范围是4种水果中的一种,是多分类问题。第2,3个问题,都是二分类问题。



转换成数学问题

        所有的机器学习都需要转换成数学问题来计算。

        分类问题首选需要对目标类别进行一个数字化,如二分类问题可以用0和1分别表示“否”和“是”,但你要用1和2来表示也可以。多分类问题可以用1,2,3,4,... 或者5,10,15,20,...来表示目标类别,具体用什么数学值来表示并不重要,只要他们分别有且只有代表一个类别。

除了目标类别,数据的特征项也可以转变成数字,,比如体重60KG,可以转变成60,距离1000km,转成成1000或者1。这跟特征项的归一化有关,这里不展开解释。

你可能会说,你举得例子都是很容易数字化的,但如果是一篇文章呢。这个笔者做过一个功能,就是对网页分类的,这边会用到分词器进行分词,然后再序列化转变成向量(数学问题很多是用矩阵和向量来计算的),就变成了数学问题。


      

线性回归不适用

        线性回归的方程        ,X是特征矩阵。θ是参数矩阵。

        这个方程在2维的坐标系(直角坐标系)中代表了一条直线。三维坐标系代表一个平面。(这个是数学问题,如果不太明白的朋友,请恕我我也很难解释了)

        为什么不适用?

        假设样本数据以x作为特征项(假设特征项只有1个,因为2D的图容易画),y作为目标类别,表示成直角坐标系的点是 (0,0),(1,0),(2,0),(3,0) (4,1) (5,1),(6,1),(7,1) ,也就是说二分类问题,我们把一个类别当成0,另外一个分类当成1,直观的我们可以认为预测函数判断的值大于中值0.5的时候,就是认为他是分类1的可能性高,而低于0,5则认为是分类0.


反应在2D坐标轴上如上图。如果此时用线性回归去拟合这个样本数据,得到的图形很可能是如下图:



从图中可以看出x > 3.5, h(x) >0.5   当h(x)>0.5我们认为 分类y=1,h(x)<0.5,分类y=0。

如图



看起来似乎合理。

但却出现了当x值变大,h(x)会继续变大的一种预测,h(x)会远远大于1,虽然他依然符合大于0.5,但显然这是不合理的。



第二个不合理的地方:如果样本增加了几个(12,1)(14,1)(15,1),这时候,线性回归的计算方式得到的预测函数h(x)的直线会向右倾斜一定的角度。如下图



此时我们再来判断,从图形中判断,阈值点变化了,从0.5变成了0.27(我的本意是让大家明白阈值的变化,至于具体数值只是取个大概,不要较真啊)


这样从图形上推导就是h(x) >0.27 我们认为 分类y=1,h(x) <0.27,分类y=0。显然这个阈值的变化是错误的,因为在非0即1的二分类问题中,中值0.5就是他的合理阈值。

可是如果延用0.5作为阈值,那就会发现有一部分分类为1的样本(4,1)(5,1)会被分为分类0。显然这是失去准确性的一种预测分类。

所以,线性方程不适合分类问题。



目标

我们需要换一种方法来满足这种分类的需求,也就是寻找一个能让预测值在0<=y<=1的方法。

逻辑回归就是这样的方法,虽然他带有回归字样,但他是一种分类算法。

同样贝叶斯算法也是一种分类算法。

后面的文章中我们会分别对这些分类算法做介绍。



相关章节如下:

分类之逻辑回归和sigmoid函数

分类之逻辑回归的代价函数costfunction



本站作品的版权皆为作品作者所有。

本站文字和内容为本站编辑或翻译,部分内容属本站原创,所以转载前务必通知本站并以超链接形式注明内容来自本站,否则以免带来不必要的麻烦。

本站内容欢迎分享,但拒绝有商业目的的转载!




上一篇:初识docker
下一篇:octave画图篇入门