關於我…
• 建國中學、輔仁大學應用數學系、交通大學工業工程研究所。1999年於南加大
取得 M.S. Degree in Computer Science 後,留美由一間小新創公司的軟體工程
師開始職涯,後歷任 US. Interactive Inc. 資深工程師、Sierra Systems 技術主管。
• 2005 返台並加入台灣微軟,目前擔任「開發體驗暨平台推廣事業部」資深協
理;負責最新或未上市的微軟技術,於新創公司及學界的導入及應用。
• 具多年協助大型企業及新創公司導入新一代技術平台之經驗,如 Microsoft
Azure 公有雲解決方案、企業搜尋解決方案、企業單一入口及 Windows Apps、
Kinect、Windows 10、機器學習等。
Agenda
•大數據概觀
•機器學習 (Machine Learning)
•案例、案例、案例
大數據時代的到來
物聯網
音訊 / 視頻
系統日誌
文字/圖片
社會輿論
整合資料市場
整合e化政府
天氣
維基 / 微博
點擊流
感測器/ 射頻識別 / 設備
空間 & GPS 定位座標
WWW 2.0手機
廣告 合作電子商務
數位行銷
搜索行銷
網路日誌
推薦
企業資源規劃 / 客戶
關係管理
銷售管道
應收款管理
薪酬管理
庫存管理
聯繫管理
交易追蹤
TeraByte
(10E12)
GigaByte
(10E9)
ExaByte
(10E18)
PetaByte
(10E15)
大量 多樣 快速
大
數
據
1980
190,000$
2010
0.07$
1990
9,000$
2000
15$
企業資源規劃 / 客戶
關係管理
WWW 2.0 物聯網
3V:
大量 (Volume)
多樣 (Variety)
快速 (Velocity)
DATACENTERS (CLOUD)
PC / DEVICE
DIGITAL TAPE
DVD / BLU-RAY
CD
CLOUD / IoT
PC / MOBILE
CLOUD
MOBILE
Microsoft Ventures
http://www.projectoxford.ai/
如果搭上了鐵達尼號,會生還嗎?
http://demos.datasciencedojo.com/demo/titanic/
這網站是怎麼作預測的?
簡單來說,即是利用了「機器學習」這方式。
先將所有鐵達尼號乘客的資料 (data) 拿來作輸入,經過 ML
(Machine Learning) 的學習之後,即得到新的預測技能 (skill):
維基百科上的 Machine Learning
• Machine learning is a scientific discipline that explores the
construction and study of algorithms that can learn from data.
• the desired output:
– Classification (分類)
– Regression (迴歸分析)
– Clustering (分群)
– Density estimation
– Dimensionality Reduction
Classification (分類)
Clustering (分群)
Regression (迴歸分析)
http://en.wikipedia.org/wiki/Machine_learning
呃…可以用白話的中文再講一次嗎?
「機器學習,可藉由電腦系統分析歷史資料,來預測未來趨勢和行為。」
所以重點是…?
重點即在於「預測」,若能預期事情將如何發展,企業或個人即能早期投資以開
創新商機、或是迴避重大風險的發生。
• 預測使用者行為來調整商業行為
– 根據用戶喜好推薦商品
– 預測機器損壞的時間
• 分類
– 判斷信件是否為垃圾郵件
– 判斷客戶是否會續約
• 分群
– 社群網路區分性質相近的會員
– 精準廣告
24
為何「機器學習」最近愈來愈紅?
• 早期要實作「機器學習」進行實務應用是相當昂貴的。不但需要高階的硬體設
備及複雜的軟體環境,同時還需要深諳統計學、人工智慧等的資料科學家團隊,
更遑論隨之而來的管理及作業成本。
• 但隨著公有雲服務 (如 Azure) 讓計算機運算以及儲存成本大幅降低、科學家們
持續發展出強固的各種演算法、再加上如 Azure ML 等易用工具的產生,將使
用成本、學習成本及管理成本一併大幅下降。即是讓傳統上 resources
boundary 的 Machine Learning 應用日漸火紅的主要原因。
25
其實利用「機器學習」作預測已有許多例子
26
照張狗的照片,辨別出是屬於哪個品種
27
(羅得西亞背脊犬)
https://www.youtube.com/watch?v=zOPIvC0MlA4#t=45
預測鐵達尼號生還率? https://studio.azureml.net/
• 免費
• 無需安裝
• 任何瀏覽器
• 網際網路
28
如何評估「機器學習」之預測模型?
模型優劣的判定並非單一指標可決定。
• ROC 曲線:基本原則是,若曲線愈往左上方移動,此模型的準確率愈高
29
• ROC
• Precision/Recall
• Lift Curve
我們可以計算 ROC 曲線下方的面積,並以
Area Under Curve (AUC) 來表示。
(此例中 AUC = 0.830),原則即是愈大愈好。
30
體驗「機器學習」
https://studio.azureml.net/
https://studio.azureml.net/
1. Classification (分類) 演算法
預測結果是屬於哪一種類別的方法。最常見的情境就是二分法了,亦即可以回答 True/False 或
Positive/Negative 的問題,比如:
• 現有的中x電信客戶,會不會轉去遠x電信呢?
• 客戶有沒有潛在升級或加購產品的商機呢?
32
二分法 Two-Class
Classification 演算法
2. Regression (迴歸分析) 演算法
與前者 Classification 方法的不同之處,在於 Regression 演算法通常是預測出一個「數值」。
比如:
• 本週台灣股市收盤價是多少?
• 如何根據所在城市、坪數、學區等來預測房價?
33
Linear
Regression 演算
法:
汽車馬力
(horsepower) 預
測耗油量 (miles
per gallon)
3. Clustering (分群) 演算法
通常是用來處理「沒有正確答案」的問題,這種問題該怎麼辦呢?
Clustering 能將有相同特徵者叢集在一塊。比如:Facebook 辨別使用者屬於哪些不同的群組 (運
動愛好者、通勤族、蘿莉控…等),以滿足廣告投放商的需求。
34
以 K-means Clustering 分群 (k=3)
• 資料科學家不必自己從頭開始撰寫程式
• 提供強固學習演算法模組及訓練資料
• 既有的 R 程式碼可直接拖放並執行,你也可在
其中自行撰寫 R 程式碼;這兩種方式均支援超
過 484 個 R 套件: CRAN packages, plyr and
dplyr, car, datasets, HMisc, MASS, Intel
Math Kernal Library, ggplot2 之 R plotting
視覺化及 rpart, nnet, survival, boot 等資料探
勘工具。
• 仍可自行撰寫 Python/R script
• 運用 Microsoft Azure 的基礎建設處理巨
量資料 (Hadoop)
• 可直接發佈成 Web service
Azure Machine Learning 實用性 & 擴充性
運用微軟 Project Oxford
Speech APIs
(Speech recognition +
Text to Speech Conversion)
運用機器學習
預先訓練六種手語手勢
Microsoft Azure for DreamSpark
http://www.microsoftazurepass.com/azureu
http://research.microsoft.com/en-US/projects/azure/awards.aspx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
數據分析的種類
• Descriptive (描述性的):可以回答 “What happened?” 的問題,增加對資料的了解程度。
• Diagnostic (診斷性的):可以回答 “Why did it happen?” 的問題,通常用來找出事情發生或出錯的原因。
• Predictive (預測性的):可以回答 “What will happen?” 的問題,預測未來可能發生什麼事。
• Prescriptive (規範性的):可以回答 “What should I do?” 的問題,要模擬預測出某決策後的結果。
44
數據的相關性 & 因果性
• 相關性的重要性不見得小於因果性
啤酒 vs. 尿布
45
Walmart 之資料分析
• 消費者在週末購物時,許多人會同時購買啤酒與尿布。
• 問題:為什麼這兩種商品會一起購買? 如何將這份資訊轉
為業績?
46
政府應用情境
Government
Admin
Health &
Social
Services
Public Safety
& Justice
Educated
Cities
Safer Cities
Healthier
Cities
Digital
Cities
• Neighborhood Management
• Video Management
• Emergency Management
• Intelligence and Analysis
• Court & Judicial Management
• Prison & Offender Management
• Population Health Management
• Remote Care & Case Management
• Primary Care
• Social Benefits & Administration
• Personal Health & Wellness
• Pandemic Management
• Tax & Revenue
• Social Analytics
• Open Data
• Document & Records
Management
• Virtual Town Hall
• Citizen Service: Portals,
Call Centers, & Apps
• City Dashboard
• Grants Management
• City Financial
Management
Sustainabl
e Cities
• Devices, Mobility, & Apps for Learning
• Education Analytics and Research
• School and Campus Administration
• Learning Systems
Education
• Mobile Tourism Apps
• Tourism portals
• Destination management
Systems
Tourism,
Recreation,
Culture
Transport
• Traffic Management
• Asset & Fleet
Management
• Toll & Fare Management
• Transportation Safety
• Operations Management
• Parking Management
Energy & Water
• Smart Grids
• Energy Management &
Analytics
• Water & Wastewater
Management
• Carbon Management
Buildings,
Infrastructure,
Planning
• Smart Buildings
• Street Lighting
• Waste Management
• Parcel, Zoning, and Land Use
Trusted Cloud Platform Cloud + Productivity + Windows & Devices + Security & Privacy
數位城市
城市安全
健康城市
教育城市
環保城市
“With the analytical capabilities of
Azure HDInsight and the Safecast
open data set, Japanese citizens have
an accurate tool they can use to
discover how the Fukushima disaster
impacts them.“
Robert Neumann
Ultra Tendency
CEO
預測及模擬
Microsoft Ventures
Crime vs. Temperature
As the temperature in Chicago rises, so does the crime rate?
New York City Police
Department and
Microsoft Partner to Bring
Real-Time Crime
Prevention and
Counterterrorism
Technology Solution to
Global Law Enforcement
Agencies
NEW YORK, Aug. 8, 2012
Microsoft and São
Paulo government
partner to release
crime monitoring
system
April 16, 2014
Microsoft Ventures
愈能早期預測、愈能早期因應
進入大數據… 目標
策略
規劃執行
驗證
作業、學術研究、創業、商務應用、黑客松…
學術觀點:哪些問題,是適合讓 Machine Learning 解決的?
台灣大學資訊工程系林軒田老師 「Machine Learning Foundations」:
• 若有些問題,是需要我們設計一個非常複雜的系統來解決的話,那麼 Machine Learning 即能
提供另一種解法,而不需實際設計出這樣一個系統。
63
- 當人們無法定義出所有可能的規則時 (比如
要在火星上探險)、
- 當沒有簡單、甚或不完全的解法方案時 (如
語音/視覺識別)、
- 需要超快速的判斷時 (如極短線股票交易)、
- 或是資料量大到人為經驗亦無法負荷的程度
(如消費市場行銷策略)
64
整合 R 語言
R語言
• R語言是由紐西蘭奧克蘭大學的 Ross Ihaka 和 Robert Gentleman
開發的開源統計語言。
• 主要用於統計分析、繪圖、資料採礦等。
http://cran.r-project.org/bin/windows/base/
如何整合R語言
輸入資料集1
輸入資料集2
Zip
R Device輸出資料集
dataset1 <- maml.mapInputPort(1)
dataset2 <- maml.mapInputPort(2)
data.set = rbind(dataset1, dataset2);
maml.mapOutputPort("data.set");
輸入
輸出
檢視預裝的R Package
data.set<-data.frame(installed.packages())
maml.mapOutputPort("data.set");
如何加入自訂R Packages
• 在電腦本機安裝想要的R Package
• 將R Package原始的Zip檔壓縮為Zip
• 上傳至Azure Machine Learning
Take a break…常見問題
Q: Machine Learning 很神嗎?
A: 機器學習其實跟我們人類學習一樣,你餵給它什麼資料它就學什麼,學習資料夠不夠多、學習
方法(學習演算法)好不好、是否有抓到重點(選擇訓練的資料欄位)等等都會影響學習的成果,
機器學習只是可以大量、快速學習,不代表它就一定會完全正確喔。
Q: 用 Azure ML 需要事先安裝軟體嗎?還是限定作業系統呢?
A: Azure ML Studio 是一個完全以 HTML 技術開發的平台,只要在瀏覽器中就可以操作。
Q: 我的資料一定要放在 Azure 上才能學習嗎?
A: 在 Azure ML Studio 中的 Data Reader 或 Hive Query 都可以讓您從各個地方將資料透過 HTTP
匯入,並不限制一定得放在 Azure 上。不過 Azure HDInsight、Azure SQL Database 或是 Azure
Storage 都很適合處理大數據,也很方便整合。
69
雲端服務拉低創業門檻
70
http://news.microsoft.com/features/wherever-there-is-data-
azure-machine-learning-can-make-business-and-life-better/
Lesson Learned: 混合雲 + ML 模型驗證 + 資料選擇 + 跨平台
71
72
談談預測模型
資料分析是關於時間的- Machine Learning 尤其是!
• 建立模型: 歷史資料--結果是已知的
• 應用模型: 現有的資料
• 執行結果: 未來的資料 (下週或是下個月)--結果是未知的
Actions take
place here
Past FuturePresent
Data ends
here
模型穩定性挑戰
錯誤率
模型複雜度
模型測試集的結果
錯誤率
模型複雜度
在此處修剪!
因為在此處模型對於
未知資料的預測錯誤
率最小
Over-fitting
樣本切割 (Split)
Training
Validation
Test
使用訓練組資料建立預測模型
使用鑑校組資料於建模階段評估模型
使用測試組資料驗證模型
建立預測模型
輸入資料集
演算法
模型
練習題:你覺得以下範例是利用哪種類型的演算法?
78
小整理:我該用哪類 Azure ML 演算法 (algorithms)?
Rule of thumb:
• 如果您的問題能夠以 Yes/No 來回答 => Classification (分類)
• 如果您期望的解答是一個數值的話 => Regression (迴歸分析)
• 如果您想將具相同特性的資料群集分類 => Clustering (分群)
79
演算法小註
• Azure ML 對演算法分類中,前兩類 (Classification & Regression) 都是屬於「監督式學習」
(Supervised Learning);Clustering 則是屬於「非監督式學習」(Unsupervised Learning) 的範
疇。
• Azure ML 是根據學習的方法 (如監督式學習/非監督式學習)、以及預期的產出 (output) 類型來
作分類。各位應已注意到,如決策樹 (Decision Tree) 或類神經網路 (Neural Network) 等,可
分別被應用到 Classification 或是 Regression 的類別中,以解決不同類型的問題。
80
81
強固的演算法
新型態的決策樹
Decision Tree
決策樹
Decision Jungle
決策叢林
Decision Forest
決策森林
類神經網路
83
Back-Propagation (倒傳遞類神經網路)
K-means 分群演算法
84
假設我們最後想分成三群 (k=3)
Step 1. 隨機選 3 點:
K-means 分群演算法
85
Step 2. 其他所有的點,與這 3 點的「距離」最小者,視為同一群
K-means 分群演算法
86
Step 3. 各別找出這三群的中心點,設為最新的 3 個點
重複 Step 2 & 3~
Microsoft BizSpark
微軟新創火花計畫 http://aka.ms/twBizSpark
軟體
• 3 年的MSDN 訂閱服務
• 每個月 NT$4,700 元的
Microsoft Azure 免費額度
• 一年Windows 市集開發帳號
• 2個MSDN professional的
技術資源
• 教育訓練
• BizSpark會員專屬聚會
• BizSpark Connect.
• BizSpark.com及
http://aka.ms/twBizSpark
• 台灣區的行銷資源
技術支援 能見度
Microsoft BizSpark 是一個全球的方案,旨在協助新創公司發
展成長,方案包含提供免費的軟體及雲端資源、 技術支援和行
銷資源。完全免費! 只要你符合底下資格
公司成立小於5年
年收入小於一百萬美金
以開發軟體產品或服務為公司的主要營業項目
Microsoft Ventures
Incubating innovation ecosystem
Microsoft Ventures
Community
(BizSpark, etc.)
Accelerator
HiPo
Startups
Tiered programs Global Operation
Nurturing industry innovation
Microsoft Ventures
慧
德
灵
智
85 startups in 5 classes,covering:
Mobile internet:Gaming, Music, Reading, Picture services
Technical infrastructure: Mobilization, Automated testing, APM,
Information Security, Video Services
Enterprise SaaS:Digital Marketing, Enterprise SNS, HR, Procurement
Traditional industry digitalization:Petroleum、Agriculture、Finance、
Education, Travel, Healthcare, Retail
Technology:Big Data, Mobile, Social Network, Smart Cloud, Smart
Device, IoT, Security
2013.12012.7 2013.7
90%
Startups got funded (class
1-5)
19 startups selected
from 700 candidates
in class 5, acceptance
rate < 3%
2014.1
http://www.bnext.com.tw/article/view/id/30809
BizSpark 畢業成員入選微軟加速器計劃 (第四期 – FY14 H2)
http://www.youtube.com/watch?v=ybRjHxBzDXUhttps://www.youtube.com/watch?v=ybRjHx
BzDXU#t=113
91
大數據不就是 Hadoop?
Machine Learning 與其他數據分析方法
雲端與本地端的分析架構
雲端服務
使用者端
同步
本地端
SQL Data Sync
SSIS
Machine Learning 與其他資料分析有什麼不同?
Analytics Spectrum 光譜: (愈往右,複雜性愈高!)
• Descriptive (描述性的):可以回答 “What happened?” 的問題,以增加對資料的了解程度。
• Diagnostic (診斷性的):可以回答 “Why did it happen?” 的問題,通常用來找出事情發生或出錯的原因。
• Predictive (預測性的):可以回答 “What will happen?” 的問題,也就是預測未來可能發生什麼事。Machine Learning (包含迴歸分析及
類神經網路) 即是其中重要的分析方式。
• Prescriptive (規範性的):可以回答 “What should I do?” 的問題,也就是不但要預測未來,還要知道若作出某決策後的結果。
93
Traditional BI
Modern Predictive BI
資料源
資料源
資料倉儲
資料倉儲
BI
Modeling
ETL
ETL
BI
Modeling
Visualize
Visualize
Machine Learning
Hadoop
完整的數據分析生命週期
Cloud
開始使用!
• 直接免費試用 Azure Machine Learning (無需信用卡):
https://studio.azureml.net
– 1 小時的計算時間
– 上傳 50GB 大小的資料集
• 或是加入 BizSpark 新創火花計劃
– http://www.microsoft.com/taiwan/bizspark
– 每個月 NT$4,700 元的 Microsoft Azure 免費額度
• 或是註冊 Microsoft Azure 免費試用帳號
– http://azure.microsoft.com/zh-tw/pricing/free-trial/
– 使用 Microsoft Account (Windows Live ID) 註冊
在 Azure ML Studio 操作
延伸學習
• Microsoft Azure 機器學習官方學習網站 (含教學影片及文件):
http://azure.microsoft.com/zh-tw/documentation/services/machine-
learning/
• 尹相志-「當個頂尖雲端資料分析師 - 活用微軟雲端大數據平台,提
升企業競爭力」: http://www.microsoftvirtualacademy.com/training-
courses/azure-seminar-1009
• O'Rielly 免費電子書下載: “Data Science in the Cloud, with Azure
Machine Learning and R.”: http://radar.oreilly.com/2015/01/getting-
started-with-data-science-in-the-cloud.html
• 台灣大學資訊工程系林軒田老師 Coursera 線上課程 (中文)
https://www.coursera.org/course/ntumlone
• 我的部落格 (Meng-Ru Tsai’s Blog):
http://blogs.msdn.com/b/mengtsai/
BizSpark 新創火花計劃: http://www.microsoft.com/taiwan/bizspark
97
98
http://www.citeworld.com/article/2366161/big-data-
analytics/microsoft-azure-ml-overview.html
20151016 中興大學 big data + machine learning

20151016 中興大學 big data + machine learning