Azure Machine Learning

By
Advertisement
最初接觸Big Data時,總覺得這不過就是Data Mining嘛。
甚至開始使用一些tool時也仍是心中有些疑惑「這不就是Data Mining」嗎?
後來在看到台大林智仁教授的文章以後,才大概釐清了兩者的差別。

Big Data顧名思義,用最簡單的概念來講就是許多台的Database資料海;
Data Mining可能就比較「家用」,任何有點資料量的Database都可以做。
有發現這其中最大的差別嗎?就是在於「分散式系統」。
過去的Data Mining大多是設計於單一機器的環境之下,而現今隨著網路硬體等升級速度飛快,成就了現今的普遍的「分散式系統」。
然而因為過去的Data Mining都是設計於單一機器,因此顯而易見的並不適用於現今的Big Data分析。也就是說,無論是方法、工具、環境,對於Big Data而言都是一個艱鉅且幾近全新的挑戰。

OK,完全離題。以上只是為了要解惑自己對Data Mining vs Big Data差異所寫的。

本篇的重點在於:Big Data -> Machine Learning -> Azure Machine Learning

進入Machine Learning,先看一張圖


有印象嗎?這是時下最流行的How old do I look. 他就是透過Azure Machine Learning中的Project Oxford所做出來的。因此本篇就是要記錄Azure ML的使用方法。

先來上一段Tom M. Mitchell對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.

Experience E   : User按下判定此mail為垃圾信件
Task T   : gmail將此郵件判定為垃圾信件
Performance P    : gmail正確判定垃圾信的機率

簡單的概念就是藉由電腦系統分析歷史資料,來預測未來趨勢和行為。
至於Machine到底要怎麼Learning呢,主要分為兩種方法:監督式學習(Supervised Learning)與非監督式學習(Unsupervised Learning)。
  1. Supervised Learning
  2. 顧名思義,既然是監督式的就是需要不斷地胃資料,讓機器藉由監督資料的過程來學習(Experience E),以其能提高工作(Task T)的效能(Performance P)。
      - Regression (迴歸分析)
        明天公司股價是多少?

              - Classification (分類)
                這位中華XX的客戶是否會轉到遠XXX
        客戶有沒有潛在升級或加購商品的商機
  3. Unsupervised Learning
  4. 不需要一直胃資料讓機器不斷學習,機器可以透過一次性的大資料來做相關性分群。   - Cluster (分群)
          不會給予「正確答案」
        將類似的客戶Group在一起給予優惠、廣告、服務或管理
稍微介紹一下Azure ML(Machine Learning)的特點
1. 由MS建立的機器學習平台
2. 依照需求匯入及整理巨量資料
3. 套用適用的學習演算法
4. 建立自己的訓練模型
5. 以Web Service發布










在Azure ML中評估學習成效

一般在判別檢驗工具的好壞時,除了看曲線的圖形之外,也可以利用曲線下的面積(Area Under Curv; AUC)來判別ROC曲線的鑑別力。
AUC數值的範圍從01,數值愈大愈好。以下為AUC數值一般的判別規則:
AUC = 0.5 (no discrimination 無鑑別力)
0.7 AUC ≦ 0.8 (acceptable discrimination 可接受的鑑別力)
0.8 AUC ≦ 0.9 (excellent discrimination 優良的鑑別力)
0.9 AUC ≦ 1.0 (outstanding discrimination 極佳的鑑別力)



陽性 (P , positive)
陰性 (N , Negative)
真陽性 (TP , true positive)
  正確的肯定。又稱:命中 (hit)
真陰性 (TN , true negative)
  正確的否定。又稱:正確拒絕 (correct rejection)
偽陽性 (FP , false positive)
  錯誤的肯定,又稱:假警報 (false alarm)型一錯誤
偽陰性 (FN , false negative)
  錯誤的否定,又稱:未命中 (miss)型二錯誤



TP + FP + TN + FN = 203 + 133 + 4374 + 290 = 5000 = 總樣本數

Accuracy ( 準確度 )
  判斷正確樣本數 / 總樣本數 = 準確度
  ( 203 + 4374 ) / 5000 = 0.9154

Precision ( 查準率 )  à 判斷為Yes的樣本,有多少是正確的
  成功判斷為Yes樣本數 / 所有判斷Yes 樣本數= 準確度
  203  / ( 203 + 133 ) = 0.6041667

Recall ( 查全率) à 實際為Yes的樣本,有多少被成功判斷出來
  成功判斷為Yes樣本數 所有實際Yes樣本= 查準率
  203 / ( 203 + 290 ) = 0.4117765


理想中的完美結果:
查準率調到最高的矛盾結果:
查全率調到最高的矛盾結果:


F1 Score ( F1 Measure )  
   àPrecisionRecall指標 有時候是矛盾的, 因此衍生出來的綜合考慮兩種指標的方法(調和平均):
  ( P * R * 2 ) / ( P + R )
  ( 0.604 * 0.412 * 2 ) / ( 0.604 + 0.412) = 0.490



Reference : http://blogs.msdn.com/b/mengtsai/


0 意見:

張貼留言

技術提供:Blogger.

Latest Photos

Join the Team

Blogger news

Popular Posts