【关键字】分类、特征以及分类器
“小菜,我进来了啊。没在做强撸灰飞烟灭的事情吧?”老鸟门外喊道。
“进来吧。”小菜回道。
“老鸟,最近学坏了啊。”小菜坏笑道。
“哈哈,跟你学的。干嘛呢?”
“嗯我正在看机器学习的分类任务。经典例子-dai尾花!”
“我靠。那是鸢(yuan)尾花,能不能行了。”老鸟白了小菜一眼。
“秀才认字认半边嘛哈哈。”
“鸢尾花的例子确实经典。鸢尾花常见的有变色鸢尾花和山鸢尾。我们要想用机器学习来区分两者,就要认识到到底是什么特点能够把不同的鸢尾花区别开来。你比如像花瓣的长度和宽度这两个特点就能区分开变色鸢尾花和山鸢尾,我们把这些能够属性称为特征-feature。”
“特征可以随便选取吗?”
“特征选取也不是随意的。如果你使用花瓣的颜色或者花的高度来作为特征的话,就会对分类的准确率造成很大的影响。鸢尾花在不同的阶段高度是不一样的,而不同的鸢尾花又有着颜色相近的花瓣,所以这两个属性很难有效的区分鸢尾花的品种。”
“所以选取特征的质量很大程度上决定了分类器分类效果的好坏。”
“啥是分类器?”小菜问。
“一会就会提到。别急。”老鸟说道。
“区分鸢尾花的特征我们使用花瓣的长度和宽度,那我们怎么应用到程序中呢?”小菜又问道。
“程序中我们可以用向量或者矢量来表达,也就是特征向量。我们用x1来表示花瓣的长度,x2来表示花瓣的宽度,(x1,x2)向量点在二维空间中就代表一个特征点。鸢尾花这个例子中,特征向量是二维的,其实特征向量如果足够多,可不止二维,比如x=(x1,x2,···,xn)这种n维向量。”
“纸笔,小菜。”
“Here it is.”
老鸟刷刷刷的画了一个图,如上。
“你看这图,就是一个直角坐标系。红色圆圈和蓝色三角表示的点就是鸢尾花的特征向量(x1,x2)。这些表示特征向量的点就是特征点,特征点构成的空间就是特征空间。”
“嗯嗯。一目了然。现在我们有了特征,以及特征点的分布情况,下一步该做什么?”小菜问。
“下一步就是机器学习中的分类器。”
“分类器?”
“没错。分类器。我们的目标是区分出鸢尾花的类别,也就是变色鸢尾花和山鸢尾,分类器就是一个函数,这个函数使用鸢尾花瓣的长度和宽度作为特征向量输入,然后输出分类是变色鸢尾还是山鸢尾这样的预测。”
“我懂了。用你画的图来说,我们就是要找到一个函数,比如一个直线函数,这么画上一道,把这个图中的两种类别鸢尾花给区分开,对么?”小菜拿起笔就是一道线,苍劲有力。
“非常对!”
“就拿你画的这条线来说吧。直线函数我们假设为0.6x1+x2-4.8=0。就是这条线把这个二维平面分成了两块区域。直线右上方的特征点,就是蓝色三角-变色鸢尾花,直线左下方的特征点,就是红色圆形-山鸢尾。假设变色鸢尾我们用+1表示,山鸢尾用-1表示,那我们就可以用下面的函数表示这个分类器。”老鸟接着说道。
“原来是这样。这条线是我随手画的,所以参数也是随便给的。但机器学习的话,并不是这样,它是通过学习最终得到一个理想的分类器吧?”
“嗯是的。刚才这个例子的分类器就比较简单,是个简单的线性分类器,在很多场景中,还有一些更复杂的分类器,后面我们改天再谈这个。”
“问题来了:机器学习是怎么自己学习到一个比较精确的分类器呢?”
“好问题。不过咱们留着下次讨论哈。时间不早了,明天还得早点上班,小菜你也早点睡。”老鸟看来明天工作很多。
“OK。下次我们再讨论。”
领取专属 10元无门槛券
私享最新 技术干货