ML的迭代学习过程
从数据中寻找出W和B 就是ML的主要任务之一。然而,ML 并没办法直接计算出能够满足这个目标的W和B 值,但是它会逐步地修正W 和B,来满足输入空间与目标空间的对映关系(即规律)。本文将说明ML的逐步(迭代)学习策略及过程。
本文引用地址:http://www.amcfsurvey.com/article/202108/427272.htm1 设定目标(Target)点
在上一期里,介绍了从X空间对映到Z 空间的范例,其中提供了已知的X 数据,以及对映的Z 数据。如下表:
于是,ML 就来寻找其中的对映规律,并利用W 和B 来表达和记住它。那么,ML(或AI)是如何寻找出W 和B 的呢?答案是:逐步(迭代)寻找出来的。一旦逐渐寻找出最佳的W 和B,再搭配两个公式来表达出两个空间里数据的对映规律性。此时,人们告诉ML寻找出W 和B,并且希望能够将X=[-5,0,5] 很准确地对映到目标Z=[0,0.5,1]。然而,ML 并没办法直接计算出能够满足这个目标的W 和B 值。但是它会逐步地修正W 和B,来满足上述X=[-5,0,5] 与目标Z=[0,0.5,1] 的对映关系(即规律)。所以,我们通称Z 空间这些点为:目标(Target)点。
现在就来观察ML 寻找W 和B 的趋近过程。在这个过程中,每走一步就会衡量一次,计算出现在与目标值的误差。然后会修正W和B 来缩小与目标值的误差。每一次计算目前误差,并进行修正W 和B,这称为:1个回合。例如:
这画面上有3 个按钮,可观察ML 逐步趋近的过程。
2 迭代寻找权重W和B,并计算预测值
2.1 寻找10回合
请按下< 迭代学习(10 回合)> 按钮,展开学习10 回合,就找到了W=0.11,B=0。如下图所示:
基于这个W和B 值,将X=[-5,0,5] 对映到Z 空间。其计算过程为:
依据人们的意愿,这个X=[-5] 应该对映到目标值Z=[0]。然而,因为目前还没找到最好的W 和B,所以经X*W+B=Y 和Sigmoid(Y)=Z 计算出来的值是Z=[0.37],与目标值T=[0] 有些误差。如下图:
没关系,经逐步修正W 和B,就会逐步缩小这项误差,逐步趋近目标值。
接着,继续把另一个点X=[0] 对映到Z 空间。其计算如下:
依据人们的意愿,这个X=[0] 应该对映到目标值Z=[0.5]。而经X*W+B=Y 和Sigmoid(Y)=Z 计算出来的值是Z=[0.5],与目标值一致,没有误差。如下图:
接着,继续把第3 个点X=[0] 对映到Z 空间。其计算如下:
依据人们的意愿,这个X=[5] 应该对映到目标值Z=[1]。而经X*W+B=Y 和Sigmoid(Y)=Z 计算出来的值是Z=[0.63],与目标值X=[1] 有些误差。如下图:
没关系,经逐步修正W 和B,就会逐步缩小这项误差,逐步趋近目标值。
2.2 寻找20回合
刚才寻找、修正(改进)了10回合,而得到了W和B值。
然后将W 和B 值代入X*W+B=Y 和Sigmoid(Y)=Z 两公式,计算出来的Z 值却与目标值还有很大的误差。表示目前所找到的W 和B 值还不是最佳的答案。
没关系,继续努力修正改进,力求止于至善。现在就来(从头)寻找20 回合看看能不能找出更棒的答案(即W和B)。请您按下< 迭代学习(20 回合)> 按钮,ML 就从头寻找20 回合,并且输出如下:
目前找到了W=0.18,B=0。基于这个W 和B 值,将X=[-5,0,5] 对映到Z=[0.29,0.5,0.71]。例如,将X=[-5] 值用两个公式计算如下:
X*W+B=-5*0.18+0=-0.9=Y
Sigmoid(Y)=Sigmoid(-0.9)=0.29=Z
这个Z 值(0.29)就是预测值。原来人们的是希望ML 能够找到理想的W 和B,让这个预测值,能够非常趋近于目标值(0)。虽然仍然有很大误差,但是与上一小节所找到的预测值(0.37)相比,已经更接近目标值(0)了。这表示更努力寻找更多回合,所得到的预测值就会更趋近于目标值了。
继续观察第2 个点,ML 将X=[0] 用两个公式计算如下:
X*W+B=0*0.18+0=0=Y
Sigmoid(Y)=Sigmoid(0)=0.5=Z
这个Z 值(0.5)就是预测值。它与目标值(0.5)一致了:
继续观察第3 个点,ML 将X=[5] 用两个公式计算如下:
X*W+B=5*0.18+0=0.9=Y
Sigmoid(Y)=Sigmoid(0.9)=0.71=Z
这个Z 值(0.71)就是预测值。原来人们是希望ML 能够找到理想的W 和B,让这个预测值能够非常趋近于目标值(1)。然而目前仍有很大误差:
没关系,经逐步修正W 和B,就会逐步缩小这项误差,逐步趋近目标值。
2.3 寻找1 000回合
刚才寻找、修正(改进)了20 回合,得到了W 和B 值。然后将这W 和B 值代入X*W+B=Y 和Sigmoid(Y)=Z 两个公式,计算出来的Z 值却与目标值还有小小的误差。表示目前所找到的W 和B 值还不是足够好的答案。
继续努力修正改进,力求止于至善。现在就来(从头)寻找1 000 回合,看看能不能让预测值更趋近于目标值。请您按下< 迭代学习(1 000 回合)> 按钮,ML就从头寻找1 000 回合,输出如下:
这次找到了W=0.67,B=0。基于这个W 和B 值,将X=[-5,0,5] 对映到Z=[0.03,0.5,0.97]。例如,将X=[-5] 值用两个公式计算如下:
X*W+B=-5*0.67+0=-3.35=Y
Sigmoid(Y)=Sigmoid(-3.35)=0.03=Z
这个Z 值(0.03)更趋近于目标值(0),而且足够接近目标值:
继续观察第2 个点,ML 将X=[0] 用两个公式计算出预测值Z=[0.5]。它与目标值(0.5)一致了。接着,继续观察第3 个点,ML 将X=[5] 用两个公式计算,得出预测值Z = [0.97]。这个Z 值(0.97)更趋近于目标值(1),而且足够接近于目标值:
经逐步地寻找、修正了1 000 回合,终于找到了满意的W和B 值,能让预测值足够接近于目标值。于是,ML 的阶段性任务完成了。
(本文来源于《电子产品世界》杂志2021年5月期)
评论