分类,回归算法区分点
前言
参照博客,觉得写得挺好的。这里是为了让自己更清楚而写,也是自己在学的时候会比较凌乱的点。
在之前的文章中,写了线性回归。熟悉机器学习的人,可能一眼看上去会发现,诶,这个东西不就是很像感知器吗,中间回归的那条线就相当于是一个超平面,就相当于构造了一个分类器啊!那是不是说我们可以用线性回归去做分类呢?(至少我是学到现在才正视这个问题,很惭愧!)
So, at first, I wanna emphasize that regression and classification are different with each other.
这是我真的要强调的!
回归和分类是两个不同的东西!不要弄混不要弄混!虽然你在学习的时候,你会发现他们的算法之间有时候可以轻易互相转化,但是本质还是不一样(如上所示)。
说清楚了这个就可以很轻易的去讨论一下线性回归、逻辑回归、感知器到底是什么。
线性回归(回归算法)
再来回顾一下线性回归:
线性回归的结果
在这里,我们可以看到中间的那条线,是根据最小二乘法算法得到的,它的函数表达式是,这个例子中纵轴是,横轴是。得到了这条线,我们就可以根据任意的,得到对应的。很明显,这里的是一个连续值,它的值域为。所以它是一个回归算法,也就是为什么它叫线性回归。
有人就要问了,我把这条线看成是一个超平面进行划分,不可以吗?线上方的点是一类,线下方又是一类。
恩…,我想说,类别是你想定就定的吗?人家是已知的类别啊,你要去根据已有的类别得到超平面,而不是得到一个超平面以后去定类别…..
线性分类
分类算法正如刚才强调的一样,目的是为了求一个分隔平面(二维中也就是条线),把这条线看成是一个超平面对数据进行划分,线上方的点是一类,线下方又是一类。
这里强调分类算法目的是分类,目的是为了去求一个分隔平面。
感知器(线性分类器)
这是一个基本的分类算法,具体原理就不讲了,总之也是得到一个超平面去分类数据。
感知器效果
这里我只想强调的是 感知器得到的分类超平面是一条直线(高维时是一个超平面),跟线性回归很相似,但是目的不一样。线性回归的目的是得到一条线,去表达变量之间的关系,从而预测值。而线性分类是得到一个超平面去分类。虽然最后面都得到一条线,但是不一样的。
逻辑回归(线性分类器)
逻辑回归是最具有迷惑性的一个分类算法了,既然是分类,为什么要叫回归呢??
具体原理会另外写一篇文章,现在简要的讲一下。
我们都知道,在逻辑回归中,有个sigmoid函数,具体地说,sigmoid函数可以用来表示概率。现在我们只需知道:
可知,当时,我们预测为1类别,反之预测为0类别。(假设为二类分类)。而:
也就是说,是我们的一个分隔的超平面,可以知道,分隔超平面在二维时仍然是一条线。因此它是一个线性分类器。
可以看一下效果:
逻辑回归分类效果
至此,我们发现感知器和逻辑回归都是得到了一条直线(二维中)作为分隔平面的。