2018/6/4

資料科學可以回答的問題


資料科學會使用 Machine Learning 的演算法,這些演算法的使用方式,都是這三個步驟:讀取資料,轉譯,提供答案,但在選擇演算法之前,要先知道這些演算法能回答什麼問題,要問對問題,才能找到答案。


以下這些是可以回答的問題


  1. 這是A,還是B? Is this A or B? (two-class classification)
  2. 這是A、B、C 還是 D? Is this A or B or C or D? (multi-class classification)
  3. 有沒有奇怪的地方? Is this Weird? (anomaly detection)
  4. 這有多少/有幾個? How Much/How Many? (regression)
  5. 用迴歸演算法解決多元分類問題 Multi-Class Classification as Regression
  6. 用迴歸演算法解決二元分類問題 Two-Class Classification as Regression
  7. 資料是由什麼組成的?怎麼分類? How is this Data Organized? (unsupervised learning, clustering)
  8. 接下來該怎麼做? What Should I Do Now? (reinforcement learning)

這是A,還是B? Is this A or B? (two-class classification)


二元分類 two-class classification,用來解決只有兩種答案的問題,例如:


  • 這位客戶會不會續約?
  • 這張照片是貓還是狗?
  • 這位顧客會不會點最上面的連結?
  • 如果再開一千英里,這個輪胎會不會爆胎?
  • 五元折價券或是打七五折,哪一個促銷手段能吸引更多顧客?

這是A、B、C 還是 D? Is this A or B or C or D? (multi-class classification)


多元分類 multi-class classification,用來解決有多種答案的問題,例如:


  • 這是哪種動物的圖片?
  • 這是哪種飛機的雷達訊號?
  • 這篇新聞屬於哪一個主題?
  • 這則 twitter 隱含了哪一種情緒?
  • 這則錄音裡的講者是誰?

有沒有奇怪的地方? Is this Weird? (anomaly detection)


異常偵測 anomaly detection,用來辨別不正常的資料,當分析的情況發生率很低,導致樣本數也很少的時候,異常偵測就顯得特別有用。感覺上跟 二元分類 two-class classification 很像,差別在於二元分類的原始資料中,就包含了兩種答案,但是異常偵測則不一定。


例如:


  • 是不是信用卡盜刷
  • 壓力大小有任何異狀嗎?
  • 這則網路訊息正常嗎?
  • 這些消費記錄跟這位使用者過去的行為落差很大嗎?
  • 這些用電量在這個季節和時間算是正常的嗎?

這有多少/有幾個? How Much/How Many? (regression)


當解決的問題涉及數字而非分類時,這一類的演算法就稱為迴歸(regression),例如:


  • 下週二的氣溫為何?
  • 第四季在葡萄牙的銷售量會有多少?
  • 三十分鐘後,我的風力發電廠會有多少千瓦(kW)的需求?
  • 我下週會獲得多少新追蹤者?
  • 每一千個使用這種軸承的產品裡,有多少個能被使用超過一萬小時?

用迴歸演算法解決多元分類問題 Multi-Class Classification as Regression


有些看起來很像多元分類的問題,但更適合用迴歸解決。例如


  • 讀者對哪則新聞最感興趣


    乍看之下是個分類問題,但如果將問題換成「對讀者來說,每則新聞的有趣程度為何」並為每則新聞評分,接下來就只需要選出最高分的新聞。這類問題通常和排名或對比有關。

  • 我的車隊中,哪台廂型車最需要保養


    可以換成「我的車隊裡,每台廂型車需要保養的程度為何」

  • 哪 5% 的顧客隔年會跳槽到對手公司


    可以換成「每名顧客明年跳槽到對手公司的機率為何」。


用迴歸演算法解決二元分類問題 Two-Class Classification as Regression


二元分類問題也可以換成迴歸問題,這類問題也通常以「有多少可能性」、「有多少比例」開頭。例如:


  • 這位使用者有多大機率會點我的廣告?
  • 這台拉霸機有多少比例的回合會給獎金?
  • 這名員工有多大機率會造成內部安全的威脅?
  • 今天有多少比例的航班會準時抵達?

二元分類、多元分類、異狀偵測和迴歸等四種演算法之間都很相近,它們都是監督式學習(supervised learning)下的演算法。共通之處,在於建模時都用了一組包含回答的資料(這個過程稱作訓練,training),並被用來分類或預測一組不包含回答的資料(這個過程稱作評分,scoring)。


資料是由什麼組成的?怎麼分類? How is this Data Organized? (unsupervised learning, clustering)


這是非監督和強化式學習(unsupervised and reinforcement learning)的演算法。


判斷資料分類的方法有很多,其中一類是聚類法(clustering),包括資料群集(chunking)、分組(grouping)、聚束(bunching)、分段(segmentation)等等。聚類法所分析的資料不包含任何用來引導分群、說明分群意義和數量的數字或名字。聚類法的基礎是衡量資料之間的距離或相似度,也就是距離度量(distance metric)。距離度量可以是任何可測量的數據。


  • 哪些消費者對農產品有相似的品味?
  • 哪些觀眾喜歡同一類電影?
  • 哪些型號的印表機有類似的故障問題?
  • 這間變電所在每週的哪幾天有類似的電力需求?
  • 用什麼方法可以自然地將這些文件分成五類?

另一類演算法稱作降維法(dimensionality reduction)。降維是另一種簡化資料的方法,它可以讓資料的溝通變得更容易、處理變得更快、而且存取變得更簡單。降維的運作原理是創造出一套簡化資料的方法。等第積分平均(GPA)是一個很簡單的例子。


  • 哪幾組飛機引擎偵測器的數據呈同向(和反向)變化?
  • 成功的 CEO 有哪些共通的領導力特質?
  • 全美的油價起伏有哪些相似的特徵?
  • 這些文件裡有哪幾組詞彙常常同時出現?(它們和哪些主題有關?)

接下來該怎麼做? What Should I Do Now? (reinforcement learning)


第三類演算法和行動有關,即強化學習(reinforcement learning)演算法。這些演算法和監督式和非監督式都不太一樣。


比方說,迴歸演算法雖然可以用來預測明天的最高溫為華氏 98 度,但它不能用來判斷該做什麼;另一方面,強化學習演算法就可以用來判斷該採取的行動,例如趁天氣還沒變熱的時候,先開辦公大樓內上半層的冷氣。


強化學習演算法很適合用於需要在無人監督情況下、完成許多簡單決策自動化系統,例如電梯、電熱器、冷氣和照明系統。由於強化學習最初被開發的目的是用來操縱機器人,任何自動物件也能使用這套演算法,像是偵查用無人機或掃地機器人。強化學習的問題總是和該採取什麼行動有關,雖然最後往往還是機器在處理這些問題。


  • 我該把廣告放在網頁何處,才能讓讀者最有機會點到它?
  • 我該把溫度調高或調低一點,還是維持現狀?
  • 我該再掃一次客廳還是繼續充電?
  • 我現在該買入多少股?
  • 看到黃燈時,我該保持當前速度、煞車還是加速?

References


What Types of Questions Can Data Science Answer?


五種可以用機器學習回答的問題


Which Algorithm Family Can Answer My Question?