陳鍾誠 | 教材 | 程式 | 文章 | 留言版


LMS 機器學習方法

LMS 機器學習方法

摘要

LMS 學習演算法最早是用來讓電腦自動學會下棋的一種方法,其回饋式法則啟發了像類神經網路、Q learning 等重要的機器學習演算法,可以說是自動學習方法的開山祖師。

簡介

LMS 學習演算法最早是用來讓電腦自動學會下棋的一種方法,只要讓兩個 LMS 程式互相對下, LMS 程式會從輸贏的結果中不斷調整其評估公式,經過數萬次的比賽後,這兩個程式都會成為 下棋高手。

最初 LMS 被用在一種叫 BackGamn 的棋賽中,然而、由於大部分的華人並不熟悉這種棋賽,因此、我們將以 圍棋來說明 LMS 的演算法,假如我們想設計一個下圍棋的程式,則我們可以使用下列簡易的評估函數。
下BackGamn棋的評估方式:
V(b) = c0+c1 x1+c2 x2+c3 x3+c4 x4+c5 x5+c6 x6
其中變數 x 的意義如下
x1 黑棋的數量
x2 白棋的數量
x3 黑棋國王的數量
x4 白棋國王的數量
x5 黑棋被威脅的數量
x6 白棋被威脅的數量


下圍棋的評估方式:
V(b) = c1 x1+c2 x2+c3 x3+c4 x4
其中變數 x 的意義如下
x1 黑棋的數量
x2 白棋的數量
x3 一步後黑棋被吃掉的最多數量
x4 一步後白棋被吃掉的最多數量

訓練目標值 T(b) 的公式定義如下 (注意,這個公式極為重要,因為下一步預測要比這一步更準,因此、預測值應該要向下一步靠攏):
T(b) = V(successor(b))

最佳化的目標函數,在最小化目標值與預測值之間的差異。
E= (T(b) - V(b))2

Algorithm LMS
    for each training sample <b,T(b)>
        use the current weights to calculate V(b)
        for each weight wi, update it as
            wi = wi + d*(T(b)-V(b)) xi             // d 是一個很小的值,作為每次改進的調整步伐
end Algorithm




作者:陳鍾誠 E-mail:ccc@kmit.edu.tw
Creative Commons License

本著作係採用創用 CC 「姓名標示─相同方式分享 2.5 台灣版」授權條款釋出。

大學課程網 | 手機入口網