Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

20150206 aic machine learning

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 60 Anuncio
Anuncio

Más Contenido Relacionado

Similares a 20150206 aic machine learning (20)

Más de Meng-Ru (Raymond) Tsai (20)

Anuncio

Más reciente (20)

20150206 aic machine learning

  1. 1. 初探「機器學習」 蔡孟儒 (Raymond) Sr. Evangelism Manager Developer Experience & Evangelism (DX) Microsoft Taiwan
  2. 2. 關於我… • 建國中學、輔仁大學應用數學系、交通大學工業工程研究所。1999年 於南加大取得 M.S. Degree in Computer Science 後,留美由一間小新 創公司的軟體工程師開始職涯,後歷任 US. Interactive Inc. 資深工程 師、Sierra Systems 技術主管。 • 2005 返台並加入台灣微軟,目前擔任 Developer Experience and Evangelism (DX) 部門資深協理;負責最新或未上市的微軟技術,於 新創公司及學界的導入及應用。 • 具多年協助大型企業及新創公司導入新一代技術平台之經驗,如 Microsoft Azure 公有雲解決方案、企業搜尋解決方案、企業單一入口 及 Windows 8/Phone Apps、Kinect 等開發應用。
  3. 3. compute network storage 4 Megatrends For Growth! 2011  2016 5x increase 90% of the data in the world today has been created in the last two years alone 905M tablets in use for work and home globally by 2017 85% of organizations will implement BYOD in their environments by 2020 >1B 200M 10.4M 160M Total world data to date last 2 years Devices + Services
  4. 4. OVER 10 BILLION CONNECTED DEVICES
  5. 5. OVER 10 BILLION CONNECTED DEVICESPUBLIC CLOUD SERVICES GROWTH RATE IS 5X FASTER THAN IT INDUSTRY
  6. 6. 1 1 10 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 10 0 01 0 0 10 0 11 1 0 0 1 1 1 BILLION SOCIAL POSTS EVERY 2 DAYS2.5 EXABYTES OF DATA CREATED DAILY
  7. 7. 大數據時代的到來 物聯網 音訊 / 視頻 系統日誌 文字/圖片 社會輿論 整合資料市場 整合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 物聯網
  8. 8. Agenda • 什麼是 Machine Learning (機器學習) • 使用 Azure ML 進入機器學習 • Azure ML 演算法、實例、架構、R 語言 • Microsoft BizSpark: 微軟新創火花計劃介紹
  9. 9. 到底什麼是 Machine Learning? 機器學習並非新的觀念或技術,多年前電腦科學家們即已定義了何謂 Machine Learning: “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E” - Tom M. Mitchell “The goal of machine learning is to program computers to use example data or past experience to solve a given problem.” – Introduction to Machine Learning, 2nd Edition, MIT Press
  10. 10. 維基百科上的 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 (linear) regression http://en.wikipedia.org/wiki/Machine_learning
  11. 11. 呃…可以用白話的中文再講一次嗎? 「機器學習,可藉由電腦系統分析歷史資料,來預測未來趨勢和行為。」 所以重點是…? 重點即在於「預測」,若能預期事情將如何發展,企業或個人即能早期 投資以開創新商機、或是迴避重大風險的發生。 • 預測使用者行為來調整商業行為 – 根據用戶喜好推薦商品 – 預測機器損壞的時間 • 分類 – 判斷信件是否為垃圾郵件 – 判斷客戶是否會續約 • 分群 – 社群網路區分性質相近的會員 – 精準廣告 12
  12. 12. 微軟自己有在用 Machine Learning 嗎? 13
  13. 13. 照張狗的照片,辨別出是屬於哪個品種 14 (羅得西亞背脊犬) https://www.youtube.com/watch?v=zOPIvC0MlA4#t=45
  14. 14. 為何「機器學習」最近愈來愈紅? • 早期要實作「機器學習」進行實務應用是相當昂貴的。不但需要高階 的硬體設備及複雜的軟體環境,同時還需要深諳統計學、人工智慧等 的資料科學家團隊,更遑論隨之而來的管理及作業成本。 • 但隨著公有雲服務 (如 Azure) 讓計算機運算以及儲存成本大幅降低、 科學家們持續發展出強固的各種演算法、再加上如 Azure ML 等易用 工具的產生,將使用成本、學習成本及管理成本一併大幅下降。即是 讓傳統上 resources boundary 的 Machine Learning 應用日漸火紅的 主要原因。 15
  15. 15. 什麼是 Azure Machine Learning • 由微軟建立的機器學習平台 • 依照需求匯入及整理巨量資料 • 套用適用的學習演算法 • 建立自己的訓練模型 • 以 Web Service 發佈
  16. 16. Azure Machine Learning
  17. 17. Azure Machine Learning 包括了… • 資料源的存取 (與 Azure SQL Database, Azure Storage以及 HDInsight深度整合) • 資料清理 (抽樣、樣本切割、計算欄位…) • 敘述性統計 • 有效變數選取 • 建立預測模型 • 評估預測模型 • 應用預測模型
  18. 18. Azure Machine Learning 的擴充性 • 資料科學家不必自己從頭開始撰寫程式 – 支援 R 語言,既有的 R 程式碼可直接拖放並執行,你也可在其中自行撰寫 R 程式 碼;這兩種方式均支援超過 410 個 R 套件 (on top of R 3.1.0 as of now), CRAN packages, plyr and dplyr, car, datasets, HMisc, MASS, Intel Math Kernal Library, 並可使用諸如 ggplot2 之 R plotting 視覺化及 rpart, nnet, survival, boot 等資料 探勘工具。 – 可立即混搭預先安裝妥當且最佳化過的演算法 – 已由 XBOX Live、Microsoft Research 及 Bing 驗證 • 運用 Microsoft Azure 的公有雲基礎建設處理巨量資料,包括 HDInsight、Hadoop 巨 量資料解決方案、SQL Database 和虛擬機器。
  19. 19. 20 DEMO Azure 「機器學習」初體驗
  20. 20. What’s your problem? 「一個腳踏車行,想根據來店客人的基本資料,預測 (predict) 此客人是 否會買腳踏車。」 用什麼來學? 1 萬個客人的歷史紀錄 (CSV 格式,可在此下載: http://1drv.ms/1xJuarR) 21
  21. 21. Azure 「機器學習」初體驗 [小技巧] 善用左上角的 Search 功能,可直接找到元件! 22
  22. 22. 在 Azure ML 中評估學習成效 模型優劣的判定並非單一指標可決定。 • ROC 曲線:其基本原則是,若曲線愈往左上方移動,此模型的準確 率愈高 23 • ROC • Precision/Recall • Lift Curve 單純由人眼來判斷當然是不準確的, 故我們可以計算 ROC 曲線下方的面積, 並以 AUC 來表示 (此例中 AUC = 0.677),原則即是愈大愈好。
  23. 23. 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 都很適合處理大數據, 也很方便整合。 24
  24. 24. 25 談談預測模型
  25. 25. 資料分析是關於時間的- Machine Learning 尤其是! • 建立模型: 歷史資料--結果是已知的 • 應用模型: 現有的資料 • 執行結果: 未來的資料 (下週或是下個月)--結果是未知的 Actions take place here Past FuturePresent Data ends here
  26. 26. 模型穩定性挑戰 錯誤率 模型複雜度
  27. 27. 模型測試集的結果 錯誤率 模型複雜度 在此處修剪! 因為在此處模型對於 未知資料的預測錯誤 率最小 Over-fitting
  28. 28. 樣本切割 (Split) Training Validation Test 使用訓練組資料建立預測模型 使用鑑校組資料於建模階段評估模型 使用測試組資料驗證模型
  29. 29. 建立預測模型 輸入資料集 演算法 模型
  30. 30. 31 我該用哪種演算法 (algorithms)?
  31. 31. Azure ML 內建演算法 Azure ML 將內建演算法分為三種類型: 1. Classification (分類) 2. Regression (迴歸分析) 3. Clustering (分群) 32
  32. 32. 1. Classification (分類) 演算法 預測結果是屬於哪一種類別的方法。最常見的情境就是二分法了,亦即 可以回答 True/False 或 Positive/Negative 的問題,比如: • 現有的中x電信客戶,會不會轉去遠x電信呢? • 客戶有沒有潛在升級或加購產品的商機呢? 33 「二分法 (Two-Class)」 Classification 演算法示意圖:
  33. 33. 2. Regression (迴歸分析) 演算法 與前者 Classification 方法的不同之處,在於 Regression 演算法通常是 預測出一個「數值」。比如: • 本週台灣股市收盤價是多少? • 如何根據所在城市、坪數、學區等來預測房價? 34 汽車馬力 (horsepower) 來預測耗油量 (miles per gallon),透過 Linear Regression 演算法的預測示意圖:
  34. 34. 3. Clustering (分群) 演算法 通常是用來處理「沒有正確答案」的問題,這種問題該怎麼辦呢? Clustering 能將有相同特徵者叢集在一塊。比如:Facebook 辨別使用者 屬於哪些不同的群組 (運動愛好者、通勤族、蘿莉控…等),以滿足廣告投 放商的需求。 35 原始資料,及以 K-means Clustering 分群之後的示意圖:
  35. 35. 練習題:你覺得以下範例是利用哪種類型的演算法? 36
  36. 36. 小整理:我該用哪類 Azure ML 演算法 (algorithms)? Rule of thumb: • 如果您的問題能夠以 Yes/No 來回答 => Classification (分類) • 如果您期望的解答是一個數值的話 => Regression (迴歸分析) • 如果您想將具相同特性的資料群集分類 => Clustering (分群) 37
  37. 37. 演算法小註 • Azure ML 對演算法分類中,前兩類 (Classification & Regression) 都 是屬於「監督式學習」(Supervised Learning);Clustering 則是屬於 「非監督式學習」(Unsupervised Learning) 的範疇。 • Azure ML 是根據學習的方法 (如監督式學習/非監督式學習)、以及預 期的產出 (output) 類型來作分類。各位應已注意到,如決策樹 (Decision Tree) 或類神經網路 (Neural Network) 等,可分別被應用到 Classification 或是 Regression 的類別中,以解決不同類型的問題。 38
  38. 38. 39 強固的演算法
  39. 39. 新型態的決策樹 Decision Tree 決策樹 Decision Jungle 決策叢林 Decision Forest 決策森林
  40. 40. 類神經網路 41 Back-Propagation (倒傳遞類神經網路)
  41. 41. K-means 分群演算法 42 假設我們最後想分成三群 (k=3) Step 1. 隨機選 3 點:
  42. 42. K-means 分群演算法 43 Step 2. 其他所有的點,與這 3 點的「距離」最小者,視為同一群
  43. 43. K-means 分群演算法 44 Step 3. 各別找出這三群的中心點,設為最新的 3 個點 重複 Step 2 & 3~
  44. 44. 雲端服務拉低創業門檻 45 http://news.microsoft.com/features/wherever-there-is-data- azure-machine-learning-can-make-business-and-life-better/
  45. 45. Lesson Learned: 混合雲 + ML 模型驗證 + 資料選擇 + 跨平台 46
  46. 46. Azure Machine Learning計費模式 實驗設計及模型驗證: 發佈 Web Service 後,被使用收費: 依每 1,000 次預測約台幣 5 塊 多來計費,同時依計算時數來 計費,每小時約 23 塊台幣。 若少於 1,000 次預測,或不足 的計算時數,則按比例計費。 在你按下 “RUN” 之後開始記時。 上傳至多 10GB 的資料、在 ML Studio 中作預測及測試、 發佈 Web Service 服務等,則 都是免費
  47. 47. 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年 年收入小於一百萬美金 以開發軟體產品或服務為公司的主要營業項目
  48. 48. Microsoft Ventures Incubating innovation ecosystem Microsoft Ventures Community (BizSpark, etc.) Accelerator HiPo Startups Tiered programs Global Operation
  49. 49. 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
  50. 50. 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
  51. 51. 52 大數據不就是 Hadoop? Machine Learning 與其他數據分析方法
  52. 52. 雲端與本地端的分析架構 雲端服務 使用者端 同步 本地端 SQL Data Sync SSIS
  53. 53. Machine Learning 與其他資料分析有什麼不同? Analytics Spectrum 光譜: (愈往右,複雜性愈高!) • Descriptive (描述性的):可以回答 “What happened?” 的問題,以增加對資料的了解程度。 • Diagnostic (診斷性的):可以回答 “Why did it happen?” 的問題,通常用來找出事情發生或出錯的原 因。 • Predictive (預測性的):可以回答 “What will happen?” 的問題,也就是預測未來可能發生什麼事。 Machine Learning (包含迴歸分析及類神經網路) 即是其中重要的分析方式。 • Prescriptive (規範性的):可以回答 “What should I do?” 的問題,也就是不但要預測未來,還要知道 若作出某決策後的結果。 54
  54. 54. Traditional BI Modern Predictive BI 資料源 資料源 資料倉儲 資料倉儲 BI Modeling ETL ETL BI Modeling Visualize Visualize Machine Learning Hadoop
  55. 55. 完整的數據分析生命週期 Cloud
  56. 56. 57 整合R語言
  57. 57. R語言 • R語言是由紐西蘭奧克蘭大學的Ross Ihaka和Robert Gentleman開發的 開源統計語言 • 能夠進行統計、預測模型以及資料視覺化 http://www.r-project.org/
  58. 58. 如何整合R語言 輸入資料集1 輸入資料集2 Zip R Device輸出資料集 dataset1 <- maml.mapInputPort(1) dataset2 <- maml.mapInputPort(2) data.set = rbind(dataset1, dataset2); maml.mapOutputPort("data.set"); 輸入 輸出
  59. 59. 檢視預裝的R Package data.set<-data.frame(installed.packages()) maml.mapOutputPort("data.set");
  60. 60. 如何加入自訂R Packages • 在電腦本機安裝想要的R Package • 將R Package原始的Zip檔壓縮為Zip • 上傳至Azure Machine Learning
  61. 61. 開始使用 Azure Machine Learning • 免信用卡直接免費試用 Azure Machine Learning: https://studio.azureml.net – 1 小時的計算時間 – 上傳 50GB 大小的資料集 • 或是註冊 Microsoft Azure 訂閱帳號 – http://azure.microsoft.com/zh-tw/pricing/free-trial/ – 使用 Microsoft Account (Windows Live ID) 註冊 – 1 個月 / TWD 6,300 試用額度 – 計算時間 1 小時新台幣 11 元 • 在 Azure Machine Learning Studio 操作
  62. 62. 延伸學習 • 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/ 63

×