回想你一開始的做法,寫下一個坐下的條件判斷式,這種把一個個規則寫下來的方法叫做 Handcrafted Rules ,也就是說它會做什麼、不會做什麼,都是你設計的。這種 Handcrafted Rules 的方法有許多的缺點:
1.想想看一隻寵物小狗可能會聽得懂數十個、數百個指令,像是過來、坐下、握手⋯⋯等,你需要把
這些規則寫完,還要寫得清楚、符合邏輯,是一件多耗時費力的工作。
2.要寫下的指令有好多,總是很容易就疏忽遺漏了,而且你也很難知道所有小狗會做的事。
3.這隻寵物小狗沒有辦法學會新的技能了,因為它只會你當初設計時告訴它的指令。
我們期待有著人工智慧的小狗,是可以自己去學習一些事情的。當它第一天被啟動的時候,它可能認不出來它的主人是誰,只要有人跟它說「過來」,它就開心地跑過去了。但是過了一星期後,它可以認出了它的主人是誰了,只有主人跟他說話,它才會有反應。這麼神奇的事情究竟是怎麼做到的呢?
原來,它默默蒐集了主人的許多影像數據,像是主人的身高、臉型、髮型、膚色、走路的樣子,於是它整理出了一個規則:
(身高 > 175) + (臉型是方的) + (髮型是黑色的) = 主人
這個算式不是你設計給他的,因為每隻寵物小狗的主人都長得不一樣,所以你只能告訴它可以用身高、臉型、髮型⋯⋯來區分每一個人,慢慢地它就能透過一次次的經驗,整理出一個規則,來分辨出它的主人了。
這種「透過過去的經驗,自動地學習出一個規則」的方法,就叫做機器學習。