人工智慧、機器學習、演算法、大數據 (7) AlphaGo 與購物推薦系統
延續人工智慧、機器學習、演算法、大數據 (1) 概要與蒙地卡羅法、及(2) 機器學習與無人駕駛、以及(3) 演算法與黑盒子模式、(4) 使用者該如何看待黑盒子模式演算法、(5) 何謂大數據、(6) 人工智慧的利與弊。本篇介紹熱門的AI案例,AlphaGo 與 購物推薦系統。
【複習電腦科技名詞】
- 人類的腦子叫人腦,對應到電子機器類稱為電腦。
- 人類的智慧對應到電腦的智慧稱為人工智慧(Artificial Intelligence : AI)。因為是人賦予電腦的智慧,故可稱為人工智慧。人工智慧是現階段的情況,以後可能會出現電腦製造下一代的電腦智慧。
- 人類解決各個問題的器具稱為工具,電腦解決各個問題的方法稱為演算法(Algorithm)。
- 人類的學習對應到電腦稱為機器學習(Machine learning)。
- 人類依據經驗或是直覺的決策行為對應到電腦就稱為黑盒子模式(black box mode),也就是一種機率及統計式的評估後的行為模式,或是直接執行特例的行為模式,也可將黑盒子模式理解為決策部分的演算法。
- 人類依賴過往經歷稱為經驗,對應到電腦累積的資料稱為大數據( Big Data)。
- 大數據是近年來才有的概念,電腦利用大數據的意涵,主要是指在強大的硬體帶來的大量數據量、快速的運算速度。
這些名詞的關係對應到我們所熟悉的事物上,可參考圖1。
【AlphaGo】
圖2
AlphaGo是2014年開始由英國倫敦Google DeepMind開發的人工智慧圍棋軟體,見圖2,其原理是由人類輸入大量的棋譜到電腦,讓電腦紀錄每一步可能輸或贏的機率,人工智慧每一步都選輸會是最小的機率,或是選贏是最大的機率。如此一來就從人類輸入的資料中學習到如何獲勝的方式。同時作者也認為或許讓AlphaGo自己跟自己下棋,電腦創造自己的資料庫,而這概念對應到人類就是「舉一反三」,自我進階的思考與機器學習。最後電腦的棋譜遠比人類多,人類就永遠無法戰勝電腦了。
人工智慧到底是如何利用棋譜來獲勝,先參考九宮格的圈圈叉叉獲勝的棋譜,見圖3,因為只有九格可以列出全部的可能性(其中可以發現有些位置沒有討論,因為旋轉後就變成同樣的棋路),因此替人工智慧建立了獲勝棋譜之後(人為建立演算法),他就會每一步都下在會贏的位置上,獲勝或是至少不敗。
圖3
理解圈圈叉叉的人工智慧獲勝原理後,我們能以此類推AlphaGo也是記下許多張棋譜才取得勝利,但是圍棋期盤是19條線與19條線垂直相交,下在格線交點上,一共19×19=361的格點,在不討論對稱或是旋轉的情況下,棋譜最少有361!種,但是加上互相吃掉對方棋子,導致棋譜數量會擴充到無限多種,所以不可能列出全部棋譜。但如果電腦夠強大,理論上還是列的完,但是因為實在太多,所以目前為止,仍然只能說是「可能中的不可能」。
那AlphaGo到底是如何獲勝?除了建立目前的棋譜、棋路(誘敵撲殺對方棋子的布局)之外,還需要搭配蒙地卡羅(Monte Carlo tree search:MCTS)的統計決策方式,來走出每一步都是最好的棋,進而獲勝。AlphaGo如何利用MCTS?它利用棋譜及可以在小範圍區域多次記錄下棋互相廝殺的情況,也就是多次的丟丟看最終獲勝的機率,最後找出幾步以內的最佳位置下棋(可能是5到10步以內,因為不可能推算到全部),見圖4:推算下一步的最佳機率。如果人工智慧每一步都是下棋到最佳位置,則在每過5到10步,就能帶來一個小區域的勝利,最後許多小區域的勝利,或許就很有可能帶來整場的勝利。
如果AlphaGo累積足夠的數據(下棋的紀錄)後,與人類下棋就可以青出於藍、更勝於藍。人工智慧可以相對於人類記下更多棋譜,並搭配好的演算法(MCTS),就可以不斷的戰勝人類。當然AlphaGo並不是無法戰勝的,如果出現沒看過的棋路的時候,也是有可能會被殺的片甲不留。
圖4:推算各位置下一步獲勝的機率
【購物推薦系統】
接著來談談推薦系統,此系統是可以利用統計中的關聯性法則(Association Rules:AR),又稱為關聯法則。目的是從大量資料中挖掘出有價值的相關關係。關聯法則解決的最常見問題如:「如果一個消費者購買了產品A,那麼他有多大機會購買產品B?」,以及「如果一個消費者購買了產品C和D,那麼他還將購買什麼產品?」為了達成關聯法則的目的,必須減少大量雜亂無章的資料,變成容易觀察理解的資料,最後關聯法則可找到組合與結果的關聯性。
關聯法則一個經典的實例是購物籃分析(Market Basket Analysis)。超市對顧客的購買記錄資料庫進行關聯法則挖掘並發現顧客的購買習慣,例如,購買產品X的同時也會購買產品Y,於是,超市就可以調整貨架的布局,比如將X產品和Y產品放在一起,增進銷量。
- 應用實例
如果有在亞馬遜(Amazon)網路商店買書的人,一定都會知道,它的推薦系統會推薦某些商品給你參考。令人驚訝的是此推薦系統相當有效,也就是說推薦的商品大多都是你很感興趣,而這是怎麼做到的呢?
在購買網路商品時必定輸入基本資料,所以它就可以有一定的基本資料,如年紀、職業、性別等等,把你歸類到某一個群體中,再依據這個群體的人喜好的東西推薦商品給你,如你填好資料後,它會推薦你這一組基本資料的人大多會買的東西。假設你一開始買了數學類的書,而它知道「買數學類書的這群人,大多會買尺規文具」,於是他就推薦你一些文具,但你可能不是很需要,所以沒買。到了下一次,你買了音樂類的書,而它知道「買數學類及音樂類書的這群人,大多會買古典樂CD」,於是就推薦你一些古典樂CD。
推薦系統就是根據這樣的「凡走過,必留下足跡」的循序漸進模式,收集、建議、再收集與建議,找出類似消費族群會購買的商品。而你會屬於很多群體(見圖5的右下角),每個群體都會有比較喜好的東西,每個群體都有興趣的交集商品(見圖5的重疊色塊區域),就是推薦給你的商品。見圖5,這可能是亞馬遜找出消費者有興趣商品的模式。
圖5
事實上,因為它光是基本資料就可以將人分為多個群體,性別、年齡、職業、興趣等等,再加上利用關聯法則,它推薦出有相當精準度的商品,或許這是它一步步成為最有名的網路商店的原因之一。
同理網路的推薦商品,不管是網路書店(博客來、金石堂)、樂天市場、FB的廣告,也是用同樣原理去引起消費者的興趣,不過因為資料庫不夠大,所以相對來說比較不準確。
由以上的例子可知人工智慧從購買者的習慣發現關聯性,也就是利用分析其背景資料,到他所逛過的網頁與所購買過的商品,進行「族群式的分類」,再經由每筆交易成功的項目,再細分下去,並重複幾次後,就知道消費者屬於哪些族群,再推薦這些族群的交集商品,此商品就有可能是消費者感興趣的商品。推薦系統是透過機器學習的一種演算法,可進行探查消費者的喜好,好比是「銷售員」的眼睛。
- 更多的推薦系統的原理
目前推薦方法包括:基於內容推薦、協同過濾推薦、基於關聯規則推薦、基於效用推薦、基於知識推薦和組合推薦。
- 基於內容推薦(Content-based Recommendation)
需要用機器學習從內容的特徵,得到使用者的資料。
- 協同過濾推薦(Collaborative Filtering Recommendation)
一般採用最近鄰演算法(k-Nearest Neighbors:KNN),利用歷史資料推測喜好的程度,計算特定商品的喜好程度。
- 基於關聯規則推薦(Association Rule-based Recommendation)
以關聯法則(AR)為基礎進行推薦,可參閱前文所列舉的案例。
- 基於效用推薦(Utility-based Recommendation)
建立一個有效的函式給每一個使用者去使用。
- 基於知識推薦(Knowledge-based Recommendation)
能解釋需要和推薦的兩者關係,可以明確定義出為什麼需要,比如說理髮師會直接推薦美容類的書籍等。
- 組合推薦(Hybrid Recommendation)
上述所使用的方法並未排除突顯的缺點,於是採用混合式方法進行推薦,提高推薦商品是消費者有興趣的機率。
【結論】
認識人工智慧、機器學習、演算法、大數據的內容並不難。簡單來說,人類創造了電腦,隨著科技的發展,如今到了大數據的年代,透過強大的硬體設備,可以進行大量數據量的處理與整合、並且現在電腦有更好的運作速度、以及網際網路的便利性,提升電腦「機器學習」的效率,再搭配著統計及機率的演算法(即黑盒子),讓電腦有了比以前更好的人工智慧,也就是弱AI。值得我們注意的是,如果放任人工智慧無止境的自由發展,也就是強AI,屆時衍生的問題,如道德、對人類生活所產生的各種危險等,都是需要嚴肅討論的議題。
在目前最重要的地方是了解到「不管是工程界與商業界的大數據,都脫離不了統計與機率」。所以要當一個大數據時代的資訊工程師或是資訊科學家,要注意除了資訊的程式碼基本功外,還必須進修統計與機率這兩門課。
人工智慧、機器學習、演算法、大數據、及其案例的內容就到此告一段落。希望對資訊的有興趣的人可以更加清楚裡面的內容、不再模糊。
沒有留言:
張貼留言