自從有了計算機以來,信息處理的方式就不斷地產生新的變化。最近這幾年,人工智慧這個領域特別引人注目,它能讓機器自己學習知識並增長其智力,處理視覺圖像信息,並最終輸出人們所需要的結果。這項技術的應用領域十分廣泛,包括醫學圖像分析, 汽車無人駕駛,氣象數據分析與預報,聲音識別交互,農業智能化管理等。
機器為什麼能學習? 它究竟是怎麼學的? 這一切都要回歸到數學。
簡單一句話,按規則大量調整數學模型裡面的各個參數,使計算輸出最貼近實際的結果。
O = f(x)
這是一條數學函數表達式,x作為輸入,可以是多個輸入;O作為輸出,也可以是多個輸出;f 就是函數,即數學模型,裡面包含了各種參數和運算法則,通過這個模型的計算可以得到輸出的結果。
機器要能學習,它需要一個信息處理中心,相當於人的大腦。學習思考,數據處理,對錯判斷,邏輯推理等智力行為都將在這裡進行。這個處理中心也是存放知識的地方,對已經學到的知識進行存放,需要時就把知識拿出來用。這個處理中心會接受外界的信號輸入,數據處理完畢後把信息輸出。這本質上和一個數學的函數差不多。下面是一個簡單的例子:
圖中,藍色的4個點作為樣本以近乎直線的方式排列,設機器大腦的數學模型為 y = kx+b的形式,其中k, b是可變參數,x作為輸入,y 是輸出。現在要找到一條直線L: y = mx + n 使得藍色的4個點儘可能的靠近直線L或直接落在直線上。把這4個點的坐標(x,y)分別讓機器去學習,通過數學的方法,按照這4點到直線的垂直距離總和最少的規則,調試出 m 和 n 的值,這就是要找的直線L。通過這種方式求得的直線,不一定使得樣本中的4個藍點都落在直線上,但該直線卻是最接近這4個點的一條直線。
此時,若要判斷紅色的D點是否歸為同一類,只要給定一個確定的誤差常數,求出D點到直線L的距離,若小於誤差,則D點和4個藍色的樣本是同一類,否則為另外一類。
在以上的例子中, mx + n 是一個數學模型。該模型是事先設定的,通常根據實際的事例來設定。除了像這裡的直線模型之外,還有其它的模型如神經網絡等,它就是數據處理中心。
4個點到直線L的距離總和最少,是微調參數m, n時所遵循的規則,調參必須得有一個正確的方向,不然調出來的數值沒依據。調整參數使距離總和最少便是機器的學習、訓練過程。
m, n是機器學習後最終調出來的參數值,機器大腦學習後的知識點便保存在m, n這兩個參數裡。
4個藍色的點是樣本,即測試數據; D點的判斷是機器訓練完成後的實際應用。
通過這個簡單的例子,可以看到,機器的學習過程就是一個按照一定的數學模型,在一個確定的規則之下,去調整模型裡面的參數的過程。機器的智力則表現為數學模型裡面的運算規劃和各個參數的值。