適合研究者、工程師,
資訊、金融、教育、醫療業未來發展必需的參考指標,
在人工智慧研發、醫學診斷和機器人區域大展身手的第一本書!
涉及大量統計學理論,
讓人工智慧「自動學習」的演算法,
就是應用於電腦視覺、資料探勘、證券試場分析的機器學習。
搜尋引擎、語音及手寫辨識、戰略遊戲也能看到它的蹤跡。
透過預測、判斷、評估、排序,提高準確率!
打好機器學習基礎,工作從此事半功倍!
日本讀者好評推薦
真的很好懂。雖然需要有線性代數和偏微分的底子,但不需要實際計算,只要看懂基本概念就行了。書中有豐富的圖片和親切的說明,讓讀者容易吸收,非常推薦!──Masaru Kamata
是一本適合初學者的書。就連沒有機械學習知識的我也能理解整體概念。書末附上的索引在深入查詢時非常好用。漫畫部分鮮活的角色和情節也將內容的難度降低了。推薦給想了解機械學習的人。──JyunJyun
巧妙地將漫畫和工作書結合,讓人一讀就停不下來了。最大的優點是有附數學解說,也有舉出現實中的應用範例,讓讀者了解能應用的場合和方式。Q&A的部分能激發思考,加深理解。我會推薦這本書給學生看。──Танечка
作者簡介:
荒木 雅弘
1998年取得(工學)博士學位(京都大學)。
1999年曾任京都工藝纖維大學工藝學系助理教授。
2007年起任職京都工藝纖維大學工藝科學研究科副教授。
〈著作〉
《語音對話系統》(合著,歐姆社)
《用免費軟體建構語音辨識系統 從模式辨識、基本機器學習到對話系統》(森北出版)
《用免費軟體學習語意網與相關互動》(森北出版)
《用免費軟體開始機器學習入門》(森北出版)
《圖解語音辨識》(講談社)
譯者簡介:
衛宮紘
清華大學原子科學院學士班畢。現為自由譯者。譯作有《上司完全使用手冊》(東販)、《超慢跑入門》(商周)、《男人懂了這些更成功》(潮客風)、《世界第一簡單電力系統》(世茂)……等。賜教信箱:emiyahiro@hotmail.com.tw
審訂者簡介
張智星
現職:台灣大學資訊系教授、台大醫院資訊室主任、台大金融科技研究中心主任
學歷:美國加州大學柏克萊分校 電機電腦系 博士
經歷:工研院資通所顧問
授課科目:資料結構與演算法、科學計算、金融科技導論、音樂訊號分析與檢索、人工智慧及深度機器學習之生醫藥產業應用
研究領域:語音辨識與評分、音樂分析與檢索、精準尋與行銷、醫療大數據分析
章節試閱
紗耶香的房間① 紗耶香與女高中生小愛
紗:好久不見,小愛。上次碰面是在爺爺家吧?
愛:對啊,那個時候表姊妹都在嘛。
話說回來,紗耶姊,今天怎麼了嗎?
紗:今天……大學的學弟來請教機器學習,我就幫他稍微上了一下課,但不曉得他是不是真的聽懂……
我記得小愛在高中選擇理工組,所以想聽聽妳的看法。
愛:機器學習是指AI嗎?機器的智能,感覺好像很難。
紗:不過,機器學習的本質是根據資料建立數學模型,再由電腦來驅動這個模型唷。這個數學模型的基礎部分,大概高中生應該理解才對。
愛:我是有在天文部編寫過觀測用的程式,數學也是喜歡的科目,只有這些知識能夠理解嗎?
紗:小愛的話,沒問題的。
第一次上課講了迴歸問題,妳能聽聽看嗎?
愛:好吧。我就來聽聽這個困難的東西!
紗耶香的房間② 數學的複習①
紗:小愛到哪邊能夠聽懂?
愛:出現好多向量、矩陣耶。向量是用括號括住一排數字,二維向量是(a,b)、三維向量是(a,b,c),但 維向量我就不太清楚了……
紗: 在4以上後,無法想像該空間,的確會覺得比較難懂。不過,我們不用勉強想像空間,可簡單看作是許多數字排在一塊就行了。
愛:數字縱向排成的列向量有什麼意義嗎?
紗:沒有特別的意義,但這邊在排列複數特徵時,約定俗成會排成縱方向。機器學習會很常遇到矩陣和向量的乘法計算,矩陣從左側乘上列向量時,可用矩陣的積來表示矩陣的合成,相當便利。
愛:高中沒有教矩陣……。
紗:嗯……矩陣可以想成是數字排成四角型。
紗:雖然行列的定義在有些國家相反,但日本數學的定義是橫方向為行、縱方向為列。我是以行列漢字「右半部」兩條線的方向來記憶唷。
愛:原來如此!
紗:舉例來說,行方向有兩個數字、列方向有兩個數字,會稱為2行2列的矩陣。矩陣的加法是相加相同位置的數字,但乘法就比較麻煩了。
紗:相乘後矩陣第n行第m列的數值,是取出前面矩陣的第 行和後面矩陣的第m列,依行列數字出現的先後順序相乘,再把各乘積相加起來求得。
愛:這樣的話,如果前面矩陣的列數和後面矩陣的行數不同,就沒有辦法做乘法。
紗:是的。妳很清楚嘛。事先理解矩陣乘法的定義是 行 列的矩陣乘上j行k列的矩陣,計算結果為i行k列矩陣的話,就能夠輕鬆讀懂式子。
紗:接著,再了解轉置和反矩陣就沒問題了。矩陣x的轉置矩陣記作Xt,只是將矩陣的行列對調而已。
愛:可是,在式(1.1)是轉置向量w。
紗:向量可想成是矩陣的特殊情況,比如 維列向量可看作是 行 列的矩陣。
愛:啊,對唷。因為w是d行 列,wT會是 行d列,而 是d列 行,所以能夠計算wTx的乘法,結果為 行 列的矩陣……。
哎! 行 列的矩陣,不就是普通的數字?
紗:是的。普通的數字稱為純量,wTx是純量、w0也是純量,兩者相加起來的 當然也會是純量。
愛:哼嗯哼嗯。
紗:然後,比較複雜的是式(1.8)出現的反矩陣(日文:逆行列)。矩陣A的反矩陣記作A-1。對了,小愛知道5的倒數(日文:逆數)嗎?
愛:倒數,是乘上該數結果為1的數,所以5的倒數是1/5嘛。
紗:是的。基本上,反矩陣也是相同的思維。在矩陣世界中,相當於1的矩陣稱為單位矩陣。單位矩陣是行數和列數相同的正方矩陣,一般記作I。矩陣裡面右斜對角線的元素為1,其餘的元素皆為0。
愛:為什麼單位矩陣相當於1呢?
紗:妳隨便找一個正方矩陣乘上單位矩陣看看。
結果是不是沒有改變呢?
愛:對唷。數字1也是任何數字乘上它不改變嘛。
紗: 行 列矩陣A的反矩陣A-1,可用下面的計算公式求得。而 行 列的反矩陣,通常會交由電腦來計算。
紗:這邊只要知道反矩陣A-1從左邊乘上原矩陣A,會變成單位矩陣I就行了。
紗:還有其他不懂的地方嗎?
愛:這個記號(Σ)。
紗:這是唸作Sigma的希臘文字,表示總和的記號。
w1x1+w2x2+…+wdxd可用Σ簡記為Σdi=1wixi。
愛:還有用向量對函數微分的地方不懂。
紗:嗚。這個……
下次再來說明,妳先把向量當作是普通的變數來微分。
愛:這樣的話就沒有了。我記得權重是用式(1.8)來求嘛。
紗耶香的房間③ 數學的複習②
愛:嗯……51頁的e是什麼?
紗:e?
啊啊,S型函數中出現的 啊。這是自然對數的底數,稱為尤拉數(Euler’s Number)。 是無限循環的無理數。
愛:對數是用來求以某數為底數的幾次方嘛。底數為2的話,就像決策樹的說明,表示該數轉為二進位數時的位數,但為什麼需要以奇怪的 為底數的「自然」對數呢?
紗:這個 具有非常方便的性質,比如微分 後還是 、logex的微分會是1/x等等。實際上,當我們反過來求具有這樣性質的數時,就會使用e唷。
愛:然後,53頁的向量微分。
紗:嗚嗚,不能再矇混過去了啊。那麼,我就認真講吧。
紗:這邊出現的誤差函數E(w),如果改變模型的權重w值,最後的數值也會出現變化。誤差函數有複數個權重,所以是多變數函數。然後,將權重的集合表作向量後,誤差函數就是以向量為參數的函數。
紗耶香的房間① 紗耶香與女高中生小愛
紗:好久不見,小愛。上次碰面是在爺爺家吧?
愛:對啊,那個時候表姊妹都在嘛。
話說回來,紗耶姊,今天怎麼了嗎?
紗:今天……大學的學弟來請教機器學習,我就幫他稍微上了一下課,但不曉得他是不是真的聽懂……
我記得小愛在高中選擇理工組,所以想聽聽妳的看法。
愛:機器學習是指AI嗎?機器的智能,感覺好像很難。
紗:不過,機器學習的本質是根據資料建立數學模型,再由電腦來驅動這個模型唷。這個數學模型的基礎部分,大概高中生應該理解才對。
愛:我是有在天文部編寫過觀測用的程式...
作者序
本書會舉出幾項機器學習中較具代表性的手法,並盡可能簡單解說其概要,預設的讀者為具備大一程度數學知識的機器學習初學者。如果自身對數學式不太熟悉的話,可翻閱各章後面的數學相關說明,大致掌握這些數學式的用處即可。
本書在內容的安排上,一開始會先設定問題,接著舉出解決該問題的方式,再對各機器學習手法進一步說明。各章設定的問題與解決手法如下:
章節 問題 手法
1 預測活動參加人數 線性迴歸
2 判斷糖尿病高危險群 邏輯識別、決策樹
3 評估訓練成果 分割學習法、交叉驗證法
4 排行葡萄的等級 卷積神經網路
5 判斷糖尿病高危險群(再挑戰) 整體學習
6 推薦相關活動 集群分析、矩陣分解
各章所介紹的手法僅為粗淺內容,想要實際運用這些手法,建議先深入理解相關的專業參考書後,再來嘗試挑戰。
最後,我想感謝給予這次執筆機會的歐姆社股份有限公司,也要向渡真加奈老師與Verte股份有限公司的同仁表達最深的謝意,感謝您們將我的拙劣原稿改編成如此生動活潑的漫畫故事。
本書會舉出幾項機器學習中較具代表性的手法,並盡可能簡單解說其概要,預設的讀者為具備大一程度數學知識的機器學習初學者。如果自身對數學式不太熟悉的話,可翻閱各章後面的數學相關說明,大致掌握這些數學式的用處即可。
本書在內容的安排上,一開始會先設定問題,接著舉出解決該問題的方式,再對各機器學習手法進一步說明。各章設定的問題與解決手法如下:
章節 問題 手法
1 預測活動參加人數 線性迴歸
2 判斷糖尿病高危險群 邏輯識別、決策樹
3 評估訓練成果 分割學習法、交叉驗證法
4 排行葡萄的等級 卷積神經網路
...
目錄
序
序章 請教我機器學習!
紗耶香的房間① 紗耶香與女高中生小愛
第1章 怎麼做迴歸?
1.1 預測數據的困難
1.2 從解釋變數求目標變數
1.3 求線性迴歸函數
1.4 正規化的效果
紗耶香的房間② 數學的複習①
第2章 怎麼進行識別?
2.1 整理資料
2.2 由資料預測類別
2.3 邏輯識別
2.4 決策樹的識別
紗耶香的房間③ 數學的複習②
第3章 評估結果
3.1 要用測試資料評估才有意義
3.2 訓練資料、檢驗資料、評估資料
3.3 交叉驗證法
3.4 準確率、精確率、召回率、F值
紗耶香的房間④ 數學的複習③
第4章 深度學習
4.1 神經網路
4.2 反向傳播法訓練
4.3 挑戰深度學習
4.3.1 深度神經網路的問題點
4.3.2 多層訓練上的技巧 ①事前訓練法
4.3.3 多層訓練上的技巧 ②激活函數
4.3.4 多層訓練上的技巧 ③規避過度學習
4.3.5 結構特化的神經網路
紗耶香的房間⑤ 數學的複習④
第5章 整體學習
5.1 裝袋法
5.2 隨機森林
5.3 提升法
紗耶香的房間⑥ 數學的複習⑤
第6章 非監督式學習
6.1 集群分析
6.1.1 階層式集群分析
6.1.2 分割式集群分析
6.2 矩陣分解
紗耶香的房間⑦ 數學的複習⑥
結尾
索引
序
序章 請教我機器學習!
紗耶香的房間① 紗耶香與女高中生小愛
第1章 怎麼做迴歸?
1.1 預測數據的困難
1.2 從解釋變數求目標變數
1.3 求線性迴歸函數
1.4 正規化的效果
紗耶香的房間② 數學的複習①
第2章 怎麼進行識別?
2.1 整理資料
2.2 由資料預測類別
2.3 邏輯識別
2.4 決策樹的識別
紗耶香的房間③ 數學的複習②
第3章 評估結果
3.1 要用測試資料評估才有意義
3.2 訓練資料、檢驗資料、評估資料
3.3 交叉驗證法
3.4 準確率、精確率、召回率、F值
紗耶香的房間④ 數學的複習③
第4章 深...