机器学习3——机器学习算法的过程
2021-04-25 本文已影响0人
jiarf
过程:
1.特征提取
2.特征选择
3.设计算法
……………………………………………………………………
——————————————————————————
任务1:识别尿沉渣中的红细胞和白细胞
![](https://img.haomeiwen.com/i24181854/7337f49d73abaada.png)
上图是标注过的训练样本,当我们拿到数据的时候构建机器学习算法的时候第一步是观察数据,找出规律,最近几年由于大数据和深度学习的发展,很多人认为只要收集足够多的数据,从网上随便下载一个开源的算法模型,直接将数据丢到模型中训练,就可以得到很好的结果,这样的观点是不正确的,要对数据有足够的了解,才能设计出好的算法,以及估计算法的极限,
![](https://img.haomeiwen.com/i24181854/8566c70de991327a.png)
1.机器学习的第一步是特征提取(feature extraction)
![](https://img.haomeiwen.com/i24181854/e2b9b03986d72165.png)
那么本任务中,
![](https://img.haomeiwen.com/i24181854/f874331462020d15.png)
特征提取这三个部分,这也是认真观察数据得出的结果,提取这三种特征的方法,提取面积特征的方法,采用了图像处理中链码的方法,提取图像边缘的信息,然后推测细胞的周长和面积,同时,基于边缘的信息,用图像处理中的哈佛变换(这是个什么变换——hafu,不是专业的不太了解……)提取细胞的圆形程度,用灰度共生矩阵提取细胞的粗糙程度,
机器学习课程的重点不是如何提取特征,而是在假设以及提取好特征的前提下,如何构造算法获得更好的性能,
![](https://img.haomeiwen.com/i24181854/e869ed466aa1a05f.png)
![](https://img.haomeiwen.com/i24181854/24e82ba1d4a8c32b.png)
提取特征也很重要,为什么我们的课程不重点研究,因为不同的任务提取的方法也不同,因此不同
![](https://img.haomeiwen.com/i24181854/76a6f6dd3835382f.png)
这些方式是讲不完的,因此这里假设
![](https://img.haomeiwen.com/i24181854/e45bcf8498a5b9b2.png)
2.对特征进行取舍——特征选择(feature selection)
分别画出了红细胞和白细胞的特征值
![](https://img.haomeiwen.com/i24181854/d59aa01518a7a0d1.png)
红色代表红细胞,可看到面积和周长可以明显的区分红细胞和白细胞,因为没有重合点,但是圆形度是不太能够很好的区分两者的,还做了别的特征
![](https://img.haomeiwen.com/i24181854/b4b9a60cdbd89bc2.png)
但是都不如面积和周长区分度高
![](https://img.haomeiwen.com/i24181854/664afaf4f13b11f2.png)
![](https://img.haomeiwen.com/i24181854/db475e2475de2650.png)
可以选择支持向量机(support vector machine),这里用到了支持向量机的三种内核:线性内核、多项式内核、高斯径向基函数核,这三个内核类似与三种不同的机器学习算法,接下来,将所有的白细胞和红细胞话到一个二维图上,做了归一化到-1到1之间,那么这样建立的空间我们称之为特征空间(feature space)
![](https://img.haomeiwen.com/i24181854/aa19795888f1dfc3.png)
在这里,特征空间是二维的(因为我们只是选择了面积和周长作为特征做的),如果是别的项目可能会有多维的
![](https://img.haomeiwen.com/i24181854/f3e51798cbf9b4ee.png)
利用前面的三种机器算法(内核)的方法,画出来三种不同的线,
![](https://img.haomeiwen.com/i24181854/759f0c7fa45d5357.png)
![](https://img.haomeiwen.com/i24181854/26e526988bfa40d9.png)
则这个样本被预测为红细胞,反之亦然。那么在这个例子中机器学习的过程就是划出一条线区分红细胞和白细胞,这个例子中比较简单,因为1.维度是二维的,如果上百个上万个特征,我们就很难看出来,人眼是看不出来的,目前的机器学习算法可以很好的处理高维的,2.标准,三种机器学习的算法画出来的线是不一样的,对某一些区域的划分是不一样的,哪条线更好呢,换句话说那种机器学习算法更好呢,这是很困男的,无法穷尽所有的新样本,我们不能得出一个绝对意义的好和坏的标准
![](https://img.haomeiwen.com/i24181854/93ab7c87a488e05a.png)
最后简单说一下三种算法在测试集上的准确率比较
![](https://img.haomeiwen.com/i24181854/0a834b2cc5b3fbca.png)
线性核是最高的,
总结
![](https://img.haomeiwen.com/i24181854/c7ca383ab5091ba6.png)
![](https://img.haomeiwen.com/i24181854/07fc831f47a2bdef.png)
![](https://img.haomeiwen.com/i24181854/b6a990e87ae3380d.png)
是机器学习重要的领域范围