學習機器學習時需要儘早知道的三件事

weixin_34185560發表於2017-04-06

作者簡介:
Peadar Coyle,資料科學家,開源軟體貢獻者,演講家與作家。先後就職於 Amazon、Vodafone、JOB TODAY、Channel 4、Elevate Direct 等,在資料驅動解決方案設計開發中具有豐富的經驗。

1818544-b20fbac6779ead28.png
1

我已經在學術界和工業界進行了許多年的機器學習建模工作,在看了一系列討論“大資料”實用性問題的優秀視訊 Scalable ML 後,我開始思考總結一些在學習機器學習時,我希望能夠儘早明白的事情。視訊來源於 Mikio Braun,介紹了 Scala 和 Spark 相關的知識。

我希望在學習機器學習時能夠儘早明白的事情有三項:

  1. 將模型應用到產品中並不是一件簡單的小事;
  2. 在課本中我們很難學習到真正的特徵選擇和特徵提取技巧;
  3. 模型評估階段非常重要。

下面讓我一個一個地介紹它們。

1. 將模型應用到產品中並不是一件簡單的小事

我在 Data-Product 上有一場介紹如何將常微分方程應用到產品中的演講。之後我花了好一段時間才意識到,自己一個人來處理包括模型衰退、產品中模型評價、開發與運維溝通等事務是多麼的困難。Yhat 的 ScienceOps 是針對這個問題的一個解決方案。一開始我並沒有意識到它有多棒,現在我發現我很難在市場中找到該產品的直接競爭者,我真的覺得他們正在解決這個非常重要的問題。漸漸地,我意識到我沒有聰明到可以處理運維成員負責的事務——所以我很樂意將這項工作外包。

1818544-c0094be6eb94572c.png
2

2. 在課本中我們很難學習到真正的特徵選擇和特徵提取技巧

特徵選擇和提取方法和技巧常常無法從課本中學習。這些技巧只能從像 Kaggle 競賽或現實世界中的專案中學習,甚至有時候需要實際應用這些技巧和方法才能學會它們。而這些工作在整個資料科學專案流程中佔據了相當一部分比重。

3. 模型評估階段非常重要

除非你已經將模型應用到測試集資料上了,否則你都不能說已經進入到預測分析階段。像交叉驗證、評估指標等評估技巧都是非常寶貴的,因為它們只需將你的資料分離成測試集和訓練集。但是實際生活通常並不會將已經定義好測試集、訓練集的資料給你,所以將真實世界中的資料劃分為測試資料和訓練資料,是一項充滿創造性的工作,其中可能包含許多情感因素。在 Dato 上有許多討論模型評估的優秀文章。

我認為 Mikio Braun 對訓練集和測試集的解釋值得一讀。我也很喜歡他畫的圖並將其包含在文中,方便不熟悉訓練集和測試集概念的讀者理解。

1818544-de8f9bba4947dead.png
3

我們在論文、會議甚至在討論我們解決問題時所用的方法的時候,經常忽略了模型評價。“我們在其中使用了 SVM ”這句話並沒有告訴我任何資訊,這沒有告訴我你的資料來源,你選擇的特徵,你的模型評估方法,你如何將其應用到產品中,以及你在其中如何使用交叉驗證或模型查錯。我認為我們需要更多關於機器學習中這些“骯髒”的方面問題的討論。

我的朋友 Ian 在 Data Science Delivered 上有一個很好的筆記,適合需要為真實情況建立機器學習模型的任何層次的人員閱讀。同時也適合希望僱傭資料科學家的招聘人員或者與資料科學團隊打交道的經理閱讀——如果你正在找人詢問“你是如何處理這些骯髒的資料的”。

1818544-75a053ca84e73da6.png

相關連線:
Scalable ML:
https://www.safaribooksonline.com/library/view/scalable-machine-learning/9781491939437/video233428.html

Data-Products:
http://pyvideo.org/pycon-italia-2015/how-to-get-data-science-models-into-production-on.html

ScienceOps:
http://www.yhathq.com/

Dato:
http://blog.dato.com/how-to-evaluate-machine-learning-models-the-pitfalls-of-ab-testing

Mikio Braun:
http://blog.mikiobraun.de/2015/03/three-things-about-data-science.html
(本文資料工匠有譯文:https://zhuanlan.zhihu.com/p/20235029

Data Science Delivered:
https://github.com/ianozsvald/data_science_delivered

相關文章