新闻中心

EEPW首页 > 智能计算 > 设计应用 > ML的迭代学习过程

ML的迭代学习过程

作者:高焕堂 (台湾铭传大学、长庚大学 教授)时间:2021-08-02来源:电子产品世界收藏

从数据中寻找出W和B 就是的主要任务之一。然而, 并没办法直接计算出能够满足这个目标的W和B 值,但是它会逐步地修正W 和B,来满足输入空间与目标空间的对映关系(即规律)。本文将说明的逐步()学习策略及过程。

本文引用地址:http://www.amcfsurvey.com/article/202108/427272.htm

1   设定目标(Target)点

在上一期里,介绍了从X空间对映到Z 空间的范例,其中提供了已知的X 数据,以及对映的Z 数据。如下表:

1627870598129553.png

于是,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个回合。例如:

1627870703299095.png

1627870718826292.png

这画面上有3 个按钮,可观察ML 逐步趋近的过程。

2   寻找权重W和B,并计算预测值

2.1 寻找10回合

请按下< 迭代学习(10 回合)> 按钮,展开学习10 回合,就找到了W=0.11,B=0。如下图所示:

1627870778571543.png

基于这个W和B 值,将X=[-5,0,5] 对映到Z 空间。其计算过程为:

1627870809244112.png

依据人们的意愿,这个X=[-5] 应该对映到目标值Z=[0]。然而,因为目前还没找到最好的W 和B,所以经X*W+B=Y 和Sigmoid(Y)=Z 计算出来的值是Z=[0.37],与目标值T=[0] 有些误差。如下图:

1627870847585105.png

没关系,经逐步修正W 和B,就会逐步缩小这项误差,逐步趋近目标值。

接着,继续把另一个点X=[0] 对映到Z 空间。其计算如下:

1627870887338860.png

依据人们的意愿,这个X=[0] 应该对映到目标值Z=[0.5]。而经X*W+B=Y 和Sigmoid(Y)=Z 计算出来的值是Z=[0.5],与目标值一致,没有误差。如下图:

1627870925268812.png

接着,继续把第3 个点X=[0] 对映到Z 空间。其计算如下:

1627870953222059.png

依据人们的意愿,这个X=[5] 应该对映到目标值Z=[1]。而经X*W+B=Y 和Sigmoid(Y)=Z 计算出来的值是Z=[0.63],与目标值X=[1] 有些误差。如下图:

1627871027879732.png

没关系,经逐步修正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 回合,并且输出如下:

1627871088655744.png

目前找到了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)。然而目前仍有很大误差:

1627871175912922.png

没关系,经逐步修正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 回合,输出如下:

1627871223330651.png

这次找到了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),而且足够接近于目标值:

1627871289175028.png

经逐步地寻找、修正了1 000 回合,终于找到了满意的W和B 值,能让预测值足够接近于目标值。于是,ML 的阶段性任务完成了。

(本文来源于《电子产品世界》杂志2021年5月期)



关键词: 202105 ML 迭代

评论


相关推荐

技术专区

关闭