TENSORFLOW + KERAS
深度學習人工智慧實務應用
林大貴 著
201908閱讀筆記
機器學習介紹
訓練資料
新資料
Label
Feature
Feature
機器學習
演算法
模型 預測結果
特徵
萃取
特徵
萃取
訓練
預測
訓練 (Training)
預測 (Predict)
機器學習介紹
名詞 解釋
Feature(資料特徵) 資料的特徵,例如:濕度、溫度、風向等
Label(真實的值) 資料的標籤,也就是我們希望預測的目標,例如降雨(0:不會下雨、1:會下
雨)
Training(訓練) 訓練資料是過去累積的歷史資料,可能是文字檔、資料庫、或其他來源,
經過Feature Extraction(特徵萃取),產生Feature(資料特徵)與Label(真實
的值),然後經過機器學習演算法訓練後產生模型
Predict(預測) 新輸入資料,經過特徵萃取產生Feature,使用訓練完成的模型進行預測,
最後產生預測結果
機器學習分類
分類 細分類 特徵 預測目標
監督式學習
(Supervised
Learning)
二元分類(Binary
Classification)
濕度、
風向、
風速、
季節、
氣壓…
只有0與1選項(是非題)
0:不會下雨;1:會下雨
多元分類(Multi-Class
Classification)
有多個選項(選擇題)
1:晴天; 2:雨天; 3:陰天; 4:下雪
回歸分析(Regression) 為數值(計算題)
溫度可能是-50~+50度的範圍
非監督式學習
(Unsupervised
Learning)
群集(Clustering) 無label cluster集群分析:目的是將資料依照特徵
分成幾個相異性最大的群組,而群組內的相似程
度最高
強化學習
(Reinforcement
Learning)
Q-learning, TD (Temporal
Difference)
強化學習的原理,藉由定義:動作(actions)、狀
態(states)、獎勵(rewards)的方式,不斷訓練機
器循序漸進,學會執行某項任務的演算法,常用
於動態系統及機器人控制等
TENSOR FLOW架構圖
TensorFlow Distributed Execution Engine
高階API*
前端程式語言
平台
處理器 CPU GPU TPU
Windows Linux Android iOS
Python C++
Keras TF-Learn TF-Slim TF-Layer
註*:這裡的高階不是指性能,而是階層概念,TensorFlow為較底層的開發框架
NPU
KERAS VS. TENSORFLOW
Keras TensorFlow
學習難易度 簡單 比較困難
使用彈性 中等 高
開發生產力 高 中等
執行效能 高 高
適合使用者 初學者 進階使用者
張量(矩陣)運算 不需自行設計 需自行設計
情緒分析
• 情緒分析(Sentiment Analysis)又稱為意見探勘(Opinionmining),是
以使用「自然語言處理」、文字分析等方法,找出作者某些話題上的態
度、情感、評價或情緒。情緒分析的商業價值在於可提早得知顧客對公
司或產品觀感,以調整銷售策略方向。
• 本書介紹IMDb網路電影資料集為範例,使用Word embedding自然語
言處理法,進行預處理,並建立深度學習模型,針對影評做情緒分析。
KERAS自然語言處理IMDB影評文字步驟如下
將「向量list」送進深度學習模型,進行訓練
Embedding層將「數字list」轉換為「向量list」
截長補短讓所有「數字list」長度都是100
使用Token將「影評文字」轉換為「數字list」
建立Token字典
讀取IMDB資料集
25000筆訓練資料,影評文字
The chases were very good,…
Token(字典共2000字),將訓練資料裡面出
現頻率最高的2000字與相應數字做配對,比
如the出現次數最多,標號1
將數字轉換為向量後,類似語意的文字,在向
量空間裏面也會比較接近
多元感知器MLP 、卷積神經網路CNN:只能依照當下
的狀態進行辨識
長短期記憶LSTM、遞歸神經網路RNN:可處理時間序
列問題

Tensorflow and keras