是什麼讓數據科學家頻頻受挫?機器學習的甲方&乙方
來源:Medium
編譯:Bot
編者按:數據科學家是21世紀「最性感」的工作,幾乎所有人都為之瘋狂——無論什麼產品,只要在醒目位置標上「人工智慧」,它就不僅賣得掉,還賣得火。但是,這也產生了不少問題。以往我們談及設計人員工作時,總會拿不懂PS是Photoshop的甲方作為笑談,現在這樣的事也同樣發生在數據科學家身上,縱然有心解釋,社會刻板印象還是會讓他們百口莫辯。
如果說現代設計已經在人們生活中存在了幾十年,許多甲方客戶還對它了解甚少;那機器學習才剛剛嶄露頭角,人們對它還僅限於眼熟,或是只讀過幾篇吹得天花亂墜的軟文。常言道,隔行如隔山。很多時候,雖然專業人士眼裡的常識別人不一定懂,但其他行業起碼還有銷售幫襯,可以很好地充當對接橋樑。而數據科學家就不一定有這個待遇了。
現在,人們對機器學習、人工智慧的偏見是社會性的,這裡面包括公司銷售。舉個不靠譜的例子,當銷售們和客戶宣傳時,他們會把實際效果吹成「佔領月球」,客戶一聽非常滿意,超出自己預期,於是要求立即啟動「占月」項目。歸根結底,數據科學家能做的頂多是把他們送到月球,然後把他們丟在那片荒無人煙的地方。至於開發佔領?不可能的。
下面列出了一些數據科學家在工作中最常遇到的「奇葩」需求,雖然看起來有些滑稽,但它們都是真實經歷。如果你想成為數據科學家,你可以先熟悉一下它們,提前鍛煉一顆強健的心臟;如果你是客戶,你也可以通過它們規避不少麻煩,至少談判時,坐在對面的數據科學家不會一臉了無生趣。
1.「我們想要一個AI模型……它可以解決『這個』問題」
現如今,我們通過簡單的探索性數據分析,就能解決80%的產業分析問題。既然如此,為什麼你們還想用機器學習呢?對於這樣精確到目標的需求,構建任何機器學習模型都是矯枉過正,在這些問題上用AI是徒勞的,企業也沒法從中看到新技術帶來的改變。從某種程度上來說,殺雞焉用牛刀?
誠然,高級分析看起來很拉風,通過投資這項技術,企業可以在技術上「引領」行業,試問有那家公司不喜歡塑造自己先進、光彩的創新形象?但是每一個數據科學家都有義務引導客戶正確使用技術,而不是濫用,以保證機器學習這把牛刀不會誤傷他人。所以,大家在做數據分析時,請用美觀的分析工具說服自己的客戶,讓他們看到數據背後的完整價值。
到目前為止,人工智慧最大的危險在於人們覺得自己理解它,而這個結論下得太早了。——MIRI創始人 Eliezer Yudkowsky
2.「這些數據給你……你給我出一些商業洞見」
通常客戶會認為自己的責任只是移交數據,他們中的有些人甚至連需求都不提,丟下一堆數據就走,然後期待數據科學家能總結出一些零零散散的、非常有見地的建議。最好這些建議還能「擲地有聲」,讓公司一夜間就改頭換面。
不幸的是,數據科學家的工作不是文學寫作,一個人憑空想是想不出什麼操作性強的業務建議的。他們需要和公司業務人員保持長期的、富有成效的交流對話,以了解這家公司能做什麼,不能做什麼。在整個項目期間,雙方要安排一個「驗收」期,共同評判建議的具體效果。
如果你連提出一個正確的問題都不會,那你將一無所獲。——美國統計學家 W. Edward Deming
3.「造個模型,能跳過不必要的分析,節約時間那種」
數據預處理和探索性分析的重要性毋庸置疑,但很多數據分析師同仁可能在處理數據前就把它們忘了。鑒於此,一些客戶就希望機器學習能刪除其中「不必要的分析」,在保證結果準確的同時縮短分析時間,提高效率。
其實數據分析是機器學習和所有高級分析的必要步驟,它們同根同源。如果不了解數據,無法從數據中找出異常值和潛在模式,那機器學習模型就是兩眼一抹黑,什麼都幹不了。所以客戶應該給數據分析預留足夠的時間,並指定討論時間,方便數據分析師或數據科學家能發現有趣的的東西和及時分享。
一個煉金師在找尋黃金時,會發現許多更具價值的其他物品。——叔本華
4.「我們有上周的數據,你能預測未來6個月的情況嗎?」
這個問題幾乎是所有數據科學家都沒法避免的。總有那麼一些人,拼拼湊湊幾行數據,就指望AI能像巫女的水晶球一樣給個「預兆」。也總有那麼一些人,一點數據都沒有,還想讓AI去填補這些空白。
對機器學習來說,數據的數量和質量至關重要,如果客戶不在乎「廢料進,廢品出」,做數據分析就可以了。一些有用的統計技術確實可以四兩撥千斤地處理這類問題,從少量數據中提煉儘可能多的信息,比如插入缺失值(impute)、人工合成數據(SMOTE演算法)和使用面向小數據的簡單模型。為了避免客戶失望,記得定義一些界限來解釋為什麼結果會那麼差。
數據量和分析技術性能之間的關係
5.「你去建個模,兩禮拜夠不夠?」
突然推翻原定計劃,卻還要求成果保質保量——這是所有項目都可能出現的問題。其他行業是怎麼補救的,我們暫且不提,反正機器學習建模不可以。它的時間一旦計劃好了,就改不了了,尤其是在原定時間就捉襟見肘的情況下。也許客戶會有疑問:現在GPU算力大幅提高了,各種API也都有了,你們這群數據科學家到底在磨蹭啥?
事實上,儘管行業內出現了像Auto-ML這樣的進展,但建模過程還是得依賴大量手動操作。數據科學家必須要痛苦地在一輪又一輪的迭代中檢查統計結果、比較模型和檢查成因。這些是沒法自動化的,至少現在還沒有自動化。如果客戶實在不理解,建議給個例子讓他直接體驗一下。
建模既是實驗,也是藝術創作,里程碑驅動的項目計劃並不總是現實的。
6.「能不能把這個變數換了,重新跑下模型?」
當數據科學家終於把建好的商業模型交給客戶看時,後者也會習慣性地提一些「調試」要求,其中最常見的是:「你能不能替換這個變數,然後重新運行模型」?表面上看這只是個小改動,但事實上,這個小改動卻意味著把在世界盃上踢足球改成在NBA打籃球。
雖然機器學習是高度迭代的,但它的核心目標是為給定變數篩選正確的影響因子,並映射它們的關係。這個要替換的變數是模型的重要組成部分,不能說改就改。所以如果客戶想投資AI技術,他們應該努力學習一些基本工作原理。如果遇到這樣完全不懂的客戶,數據科學家也有必要給出預警,防止他們事後處處不滿。
7.「我們模型的準確率可以達到100%嗎?」
看到「錯誤率」就宛如看到「瘟神」,這是很多人的誤區。人們都喜歡盲目追求等級,客戶也總覺得越靠近100%,模型就越好。然而當準確率超越其他因素成為唯一焦點後,數據科學家就又該頭疼了:你們要這麼一個精度很高,但沒法實際應用的複雜模型有什麼用?
2009年,BellKor"s Pragmatic Chaos拿下Netflix Prize百萬美金競賽冠軍,雖然Netflix到現在還一直誇這個模型有多好,但它從沒上線過。為什麼?因為這個高精度複雜模型背後的工程成本太高了。如果一個模型只有精度卻不能實際應用,它對普通企業的意義又在哪兒?一個好的工程模型應該兼具準確率、穩定性、簡單性和業務可解釋性,並在之中達到平衡。
工程模型:實現精細平衡和權衡
8.「這模型訓練好了,以後能一直保持高性能嗎?」
虛擬產品也是產品,當模型訓練完,客戶自然還要關心一下它的使用壽命。因此他們常問的問題還有:「這個模型是不是會一直這麼聰明啊?」「未來我們業務發展了,它跟不跟得上變化啊?」
很不幸,機器學習模型不會自動貫徹終身學習。它還只是個孩子,你們千萬要不斷耐心教導它!通常情況下,模型需要每隔幾周或幾個月進行一次快速複習,就像學校里為了考試苦苦掙扎的學生。更重要的是,如果公司業務發生明顯變化,這個複習頻率要加快,模型可能還要回爐學習點新東西。
儘管發展很快,但這就是當今分析行業的情況,所以如果想投資AI技術,做好模型維護和更新的時間、金錢預算吧!
小結
到現在為止,我們已經介紹了數據科學家工作生活中可能會遇到的8個關鍵誤解,它們隱藏在機器學習建模的6個步驟中:
導致這些誤解產生的原因有兩個,一是客戶對行業基礎知識缺乏了解,二是雙方對具體效果的預期錯位。了解這些內容有助於數據科學家在遇到麻煩時溫和、友善地向客戶說明情況,而不是一臉無奈或是一肚子火氣,最後被迫向客戶屈服。
如果你在生活中也遇到過類似的困擾,歡迎留言指出,幫助更多同行總結經驗,也讓客戶和銷售更了解自己的工作。
原文地址:towardsdatascience.com/what-frustrates-data-scientists-in-machine-learning-projects-3398919a7c79
※智能哲學:「學習機器」與「機器學習」 ——解讀圖靈思想中的人工智慧
※為什麼有的機器學習應用公司必將失敗?
TAG:機器學習 |