Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.機器學習是當前的流行語,旨在涵蓋用於根據數據做出決策、預測或分類的計算機算法。
當我加入時聯合管理計劃2014 年,我剛從一所學校獲得統計學博士學位,該校在農業實驗和混合建模方面擁有悠久的卓越歷史。 這就是我習慣的世界:旨在最大限度地通過明智的計劃接收到的信息的小型實驗,幾乎總是一些需要混合模型技術來分析的實驗設計特徵(最簡單的是裂區設計),以及確定的目標什麼樣的治療可以帶來最好的結果。 無論與我一起工作的科學家是動物科學、昆蟲學、食品科學還是教育領域的科學家,都是如此。
加入 JMP 後不久,圍繞大數據的熱議就達到了它的頂峰。 幾年後,機器學習興起。 機器學習的崛起落後於大數據並不奇怪。 人們應該如何處理他們收集到的所有數據? 當然,使用機器學習工具箱中的工具對其進行分析。
我的正規教育並沒有特別為我做好這些事情的準備,但當我開始作為統計學家開發人員的職業生涯時,這些主題是我需要快速掌握的內容! 因此,我做了現在每個學生在邁入新主題時都會做的事情:我訪問了維基百科。
“機器學習是一個跨學科的使用統計技術給出的領域計算機系統“學習”的能力(例如,逐步提高特定任務的表現)數據,無需明確編程。”
這有點令人震驚。 計算機系統如何能夠在沒有明確編程的情況下“學習”任何東西? 我們還沒有實現天網,但是,我知道! 是時候繼續挖掘了。 大英百科全書說,“機器學習,在人工智能(計算機科學的一門學科)中,與實現可以自主學習的計算機軟件有關的學科。”
現在我已經失去了與定義中的統計數據的聯繫,但至少更明顯的是我們對實現可以自主學習的軟件感興趣。 “無需顯式編程”是指一旦數據傳遞給算法,算法就會完成剩下的工作,而無需我們進一步指示。
基於這些定義和我對該短語常見用法的看法,我開始認為機器學習是當前的流行短語,旨在涵蓋用於基於數據做出決策、預測或分類的計算機算法。
監督學習與無監督學習
也是如此聯合管理計劃做機器學習? 絕對地! 從技術上講,我們從第一個版本就已經做到了! 1989 年的時候我們就這麼超前了嗎? 我想是這樣的。 但是,讓我們進一步詳細了解人們在談到機器學習時所想到的算法。
通常,機器學習算法分為不同類型——監督學習和無監督學習。 通過監督學習,算法可同時處理預測變量(X 列)和響應(Y 列)。 使用的訓練數據通過告訴算法對於給定的預測變量值應該是什麼響應來“監督”算法。 在無監督學習中,算法僅使用預測變量,並且任何模式都僅由它們確定。 沒有提供“真相”——事實上我們可能不知道“真相”。
JMP 中的哪些機器學習算法屬於哪些類別?
監督
|
無監督
|
決策樹 *
|
聚類
|
神經網絡 *
|
自組織映射
|
引導森林*
|
關聯分析
|
回歸
|
奇異值分解
|
K 最近鄰 *
|
|
樸素貝葉斯 *
|
|
*這些平台的一些功能是JMP專業版僅有的。
許多人對列表中的回歸感到驚訝,它當然不屬於通常認為的機器學習,但它是監督學習最直接的形式。 Fit Y by X 位於 JMP 1 中! JMP 3 中添加了聚類,此後機器學習選項不斷出現。
對於熟悉其中一種或多種算法的人來說,您可能會注意到它們之間的相似之處。 許多模型都能產生驚人的預測準確性,但如果您試圖解釋係數或截止值的含義,您可能很難做到這一點。 我可以通過決策樹的切點來得出預測,但這些切點的位置背後沒有內在含義。 我不知道神經網絡模型中的參數估計在“現實世界”中意味著什麼,但神經網絡是目前預測性能最好的機器學習模型之一。
相比之下,回歸模型提供的參數估計對用戶具有內在意義。 如果係數為正,我們知道將該預測變量的值增加一個單位將使響應增加該係數值。 這與 Galit Shmueli 博士所說的相關“解釋還是預測?”這種權衡中的最佳妥協之一是擬合模型平台的廣義回歸特性。 正如我的同事 Clay Barker 所討論的,使用套索或彈性網絡可以提高預測性能,但模型仍然可以解釋。
但缺乏可解釋性重要嗎? 也許,也許不是。 如果用例嚴格專注於實現對未來事件的最準確預測,則不需要可解釋的模型。 另一方面,如果利益相關者想要更具體的方法來“提高他們的分數”,那麼可解釋的模型可能是首選。 任何模型的關鍵是你能否將輸出付諸行動。
仍然需要人類
這引出了我的最後一點。 即使計算機算法可以完成所有令人驚奇的事情,仍然需要人類分析師來處理更高級別的問題。
- 分析中應包含或排除哪些數據? 有些算法具有選擇重要變量的能力,但如果一開始就沒有將變量提供給計算機,即使它具有高度預測性,也不會被選擇!
- 收益遞減點在哪裡? 如果模型太複雜而無法在需要的時間內運行,那麼它就沒有用處。 也許不太複雜的模型可以提供幾乎同樣好的結果並且可以快速運行。 一個著名的例子是 Netflix 獎的獲得者。 獲勝模型的表現比幾乎所有人的預期都要好,但所需的數據量和處理過程使其無法在 Netflix 需要建議用戶下一步應該觀看什麼的實時環境中運行。
- 模型是否存在固有偏差? 顯然,計算機算法不會有人類所具有的偏見,但算法有可能產生與有偏見的特徵高度相關的模型。 在抵押貸款中,有些特徵在做出貸款決策時是非法的。 然而,有幾個法律因素可能與非法因素高度相關。 即使種族不是數據的直接一部分,算法也可能生成幾乎完全拒絕特定種族的模型。 這種模式可能會產生法律後果。
- 模型應該什麼時候更新? 因為建模的目的是產生某種我們可以採取行動的輸出,所以一旦採取行動,模型就需要更新。 需要進行此更新,因為實施的更改將影響模型的未來輸入。 如果我們繼續使用舊模型,我們就有可能超出原始數據的範圍進行推斷。 模型應該在什麼時候更新是一個只有人類才能回答的問題。
在我的下一篇文章,我將告訴你我最喜歡的兩種機器學習算法:K 最近鄰算法和朴素貝葉斯算法。 我們將根據我自己收集的一些有趣數據來看看這兩種方法的實際應用。