AI讲座:ML的分类方法
从上一期的内容里[1],您已经观察到了ML 具有很好的能力,可以探索出足够好的W 和B,进而求出足够趋近于目标的预测值。于是,ML 就能够帮助人类对各种事物(的数据)进行“分门别类”了,这就简称为:分类(Classification)。现在就来说明机器(计算机)是如何学习分类的。
本文引用地址:https://www.eepw.com.cn/article/202107/426892.htm1 给予目标值:以二元分类为例
首先,由人指引机器(ML)来学习分类。也就是,人给予目标值,而ML 则探索出足够好的W 和B,进而求出足够趋近于目标的预测值。上述目标值又通称为类别标签(Class Label)。在人们心中,先对事物进行分类,并给各类别贴上卷标(即目标值),以指引(监督)ML逐步学习分类。所以,又称为监督式学习(Supervised Learning)。
例如,下图的数据表示:有6 瓶水,其温度分别为X=[0,1,4,5,-5,-6]。此时,人们将它们区分为两个类别(Class):“水”与“冰”。而且人又设定了两个目标值:1 代表“水”,且0 代表“冰”。如下图所示。
这时人们就可要求ML 帮忙寻找出W 和B,且希望能够将X=[0, 1, 4, 5, -5, -6] 很准确地对应到目标Z=[1,1,1,1,0,0]。上一期曾经说明,ML 并没办法直接计算出能够满足这个目标的W 和B 值。但是它会逐步修正W 和B,以尽量满足上述X=[0,1,4,5,-5,-6] 与目标Z=[1,1,1,1,0,0] 的对应关系(即规律)。所以,在这个范例里,Z 空间里有两个目标(Target)点。
在这个范例里,人们将事物区分为两个类别,所以设定两个目标值:1 代表“水”,且0 代表“冰”。这通称为二元分类(Binary Classification)。
2 ML逐步探索与学习
接下来ML 就逐步寻找其中的对应规律,并利用W和B 来表达和记住它。在这一过程中,每走1 步就会衡量一次,计算出现在与目标值的误差。然后会修正W和B 来缩小与目标值的误差。每一次计算误差,并进行修正W 和B,这称为一个回合。请您按下“学习分类(30 回合)”按钮,ML 会寻找30 回合,输出如下。
ML 找到了W 和B 值。然后将W 和B 值代入X*W+ B = Y 和Sigmoid(Y)= Z 两个公式,计算出Z 值。例如,将X=[-6] 经X*W+B=Y 和Sigmoid(Y)= Z 计算出来的值是Z=[0.1],它与目标值X=[0] 还有很大误差。如下图。
接着,将X 空间的6 个点(代表6 瓶水)都计算出其预测值,并呈现于Z 空间里,如下图。
可以看出,这些预测值与其目标值都还有相当的距离(误差)。没关系,继续努力修正改进,力求止于至善。现在就来(从头)寻找300 回合看看能不能让预测值更趋近于目标值。
请您按下“学习分类(300 回合)”按钮,ML会寻找300 回合,并且输出如下。
ML 寻找出新的W 和B,将W 和B 值代入X*W +B = Y 和Sigmoid(Y)= Z 两个公式,计算出Z 值。于是,计算出新的预测值X=[0.6,0.8,1,1,0,0]。也就是将X 空间的6 个点(代表6 瓶水)都计算出其预测值,并呈现于Z 空间,如下图。
可以看出,这些预测值与其目标值已经更接近了,但是还是有一些误差。没关系,继续努力修正改进,力求止于至善。现在就来(从头)寻找3000 回合看看能不能让预测值更趋近于目标值。
请您按下“学习分类(3000 回合)”按钮,ML 会寻找3000 回合,并且输出如下。
这次找到了W=0.11,B=1.77,将W 和B 值代入X*W + B = Y 和Sigmoid(Y)= Z 两个公式,计算出Z值。于是,计算出新的预测值X=[0.9,0.9,1,1,0,0]。
可以看出,经两个公式计算,得出的预测值已经足够接近目标值了。于是,我们就可以输入X 值,然后经X*W + B = Y 和Sigmoid(Y)= Z 两个公式,计算出预测值,以判断它归属于哪一个类别。
例如,针对X=[0,1,4,5] 代表的4 瓶水,观察ML 计算出来的预测值是Z=[0.9,0.9,1,1],都非常近于目标值(1),所以就预测它属于“水”类。如下图所示。
又如,针对X=[-6,-5] 代表的2 瓶水,观察ML计算出来的预测值是Z=[0,0],非常近于目标值(0),所以就预测它属于“冰”类。如下图所示。
以上说明了ML 如何逐步寻找出足够好的W和B,并依据W 和B 将X 空间的数据(以点表示)对应到Z空间,而得到预测值。然后就可以观察其预测值靠近哪个目标值,来判断(或预测)它属于哪个类别。
3 测试
ML已经逐步寻找出足够好的W(值为1.11)和B(值为1.77),并记住了W 和B 值,也就是记住了X 空间与Z 空间的对应关系。现在,就用一些测试数据来验证W&B 是否真的足够好?例如,拿来另外3 瓶水,其温度分别是:-8.5、7.2 和2。并输入到Excel 表格中,如下图。
请您按下“预测”按钮,ML 经X*W + B = Y 和Sigmoid(Y)= Z两个公式,计算出Z预测值,且输出如下。
此时,针对X=[-8.5] 所代表的水瓶,ML 计算出来的预测值是Z=[0],所以就预测它属于“冰”类。针对X=[7.2,2] 所代表的两瓶水,其ML 计算出来的预测值是Z=[1,0.98],都非常接近目标值(1),所以就预测它属于“水”类。于是,可以看出,这个ML 已经学会如何分类了。
参考文献:
[1] 高焕堂.ML的迭代学习过程[J].电子产品世界,2021(5):33-35.
(本文来源于《电子产品世界》杂志2021年6月期)
评论