當前位置:
首頁 > 最新 > 機器學習:開發人員和業務分析師須知

機器學習:開發人員和業務分析師須知

關鍵時刻,第一時間送達

由於新技術和新方法的出現,機器學習正在經歷一場革命。機器學習是一個使用程序開發功能的過程(例如通過分析數據而不是為確切的步驟編程)把垃圾郵件和可取的郵件區分開來,從而使用戶無需做出關於演算法的工作方式的每一個決定。機器學習是一個強大的工具,不僅因為每天有逾百萬人專註於繁瑣的編程步驟,還因為它有時會找到比人工操作更好的解決方案。

要成功應用機器學習,光有數據科學是遠遠不夠的。

由於新技術和新方法的出現,機器學習正在經歷一場革命。機器學習是一個使用程序開發功能的過程(例如通過分析數據而不是為確切的步驟編程)把垃圾郵件和可取的郵件區分開來,從而使用戶無需做出關於演算法的工作方式的每一個決定。機器學習是一個強大的工具,不僅因為每天有逾百萬人專註於繁瑣的編程步驟,還因為它有時會找到比人工操作更好的解決方案。

機器學習在大多數行業中都得到了應用,在這些行業里,它為現有流程提供了改進的絕佳機會。但是,很多企業都在努力跟上創新。誠然,找到熟練的數據科學家是困難的,但技能短缺並非故事的全部,特別是對於那些已經做出投資但沒有意識到自身潛力的組織來說。最嚴重的障礙與這兩者間的差距有關——有能力實施各種方法的數據科學家和能夠推動必要組織變革的商業領袖。

讓機器學習在組織中取得成功,這需要一個涉及專家和非專業人士的整體戰略。這需要關注組織,分析業務案例,以確定機器學習可以在什麼地方增加價值並管理新方法的風險。例如,數據科學團隊可能有興趣使用機器學習,但由於時間限制,風險規避或熟悉度不夠而選擇不這樣做。在這些情況下,更好的方法可能是創建一個單獨的項目,把重點放在未來項目的奠基。一旦該組織有機器學習的實例,未來實施的門檻就會顯著降低。

這意味著組織中的非專業人員需要分擔機器學習的願景,使其獲得成功,而這始於一種共識。學習蘊藏在數據科學背後的分析和數學需要花費數年時間,但對於業務領導者、分析師和開發人員來說,至少要了解應用該技術的地方,方式以及基本概念。

使用機器學習需要一種別樣的解決問題的方法:讓機器學習演算法解決問題。這是熟悉如何通過功能性步驟進行思考的人的思維轉變。需要相信機器學習計劃會產生結果並且需要耐心。

機器學習和深度學習

為什麼機器學習如此強大?機器學習的工作有很多不同的流程(有演算法推動),我將在下面詳細討論,但是處於領先地位的流程使用神經網路,其結構與生物腦的結構相似。神經網路具有多層連通性,當它有很多複雜層次時,我們就把它稱為深層神經網路。

深度神經網路直到最近才取得了有限的成功,當時科學家利用了通常用於顯示3D圖形的GPU,他們意識到GPU具有大量的並行計算能力,並用它們來訓練神經網路。結果非常有效,以至於現任的數據科學家都措手不及。訓練深度神經網路的過程稱為深度學習。

深度學習在2012年已經成熟,當時加拿大團隊首次將GPU訓練的神經網路演算法引入重要的圖像識別競賽,並大幅度領先於競爭對手。第二年,60%的參賽作品使用深度學習,次年(2014年)幾乎每一個參賽作品都使用它。

從那以後,我們看到矽谷出現了一些非凡的成功案例,讓谷歌、亞馬遜、貝寶和微軟等公司能夠為客戶提供服務並了解他們的市場。例如,谷歌使用DeepMind系統將數據中心冷卻所需的能源減少了40%。貝寶則用深度學習來檢測欺詐和洗錢。

除了這個重心之外,還有其它一些成功案例。例如,西奈山伊坎醫學院(Icahn School of Medicine at Mount Sinai)利用英偉達的GPU來構建一個名為Deep Patient的工具,該工具可以分析患者的病史,以預測發病前一年內將近80種疾病。日本保險公司AXA採用深度學習模式,將汽車事故預測率從40%提高到78%。

有監督學習和無監督學習

在基本的層面上,有兩種類型的機器學習:有監督學習和無監督學習。有時候這些類型會進一步得到分拆(例如半監督和強化學習),但本文將重點介紹基礎知識。

在監督學習的情況下,你通過將已知的輸入和輸出傳遞給監督學習來訓練模型進行預測。一旦模型看到了足夠的例子,它就可以從類似的輸入中預測到可能的輸出。

例如,如果你想要一個可以預測某人患病的概率的模型,那麼你需要隨機人群的歷史記錄,其中有指示風險因素以及是否患有病症的記錄。預測的結果再好也好不過用於訓練的數據的質量。數據科學家通常會扣留培訓中的一些數據,並用它來測試預測的準確性。

在無監督學習的情況下,你需要一種演算法來查找數據中的模式,而你無法提供示例。在聚類的情況下,演算法將數據分類為組。例如,如果你正在進行市場營銷活動,則群集演算法可以找到需要不同營銷信息的客戶群,並發現你可能不知道的特有群體。

在關聯的情況下,你希望演算法找到描述數據的規則。例如,演算法可能已經發現,在周一購買了啤酒的人也購買了尿布。知道了這些信息,你可以在星期一提醒啤酒顧客購買尿布,並嘗試提升特定品牌的銷售。

正如我上面提到的,機器學習的應用除了要理解數學和演算法外,還要有一些遠見。他們需要理解業務的人員,理解演算法的人員和能夠關注組織的領導者共同努力。

機器學習的流程

機器學習模型的實施除了簡單地執行演算法之外還涉及很多步驟。為了流程在組織的規模上工作,業務分析師和開發人員應該參與一些步驟。工作流通常被稱為生命周期,它可以通過以下五個步驟進行總結。請注意,某些步驟不適用於無監督學習。

1.數據收集:要讓深度學習發揮良好的作用,你需要大量準確一致的數據。有時數據要從不同的來源收集並得到關聯。儘管這是第一步,但它往往是最困難的。

2.數據準備:在這一步中,分析人員確定數據的哪些部分成為輸入和輸出。例如,如果你試圖確定客戶取消服務的可能性,那麼你可以將單獨的數據集合在一起,挑選模型所需的相關指標,並消除這些指標中的歧義。

3.培訓:這一步由專家接管。他們選擇最好的演算法並反覆對它進行微調,同時將其預測值與實際值進行比較,以查看它的工作效果。依據學習類型的不同,你可以期望自己會知道其準確性水平。在深度學習的情況下,這一步可能是計算密集型的,它需要佔用數小時的GPU時間。

4.推論:如果目標是要讓模型進行預測(例如監督學習),那麼你可以部署模型,以便它對查詢做出快速響應。除了輸出是預測之外,你給它與數據準備期間選擇的輸入相同。

5.反饋:這是一個可選步驟,來自推理的信息用於更新模型,以便提高其準確性。

以下例子顯示了監督學習模型的工作流程的部分內容。Kinetica上的大數據存儲是由GPU加速的資料庫,其中所包含的訓練數據可通過利用資料庫的機器學習特性的模型作為學習步驟的一部分進行訪問。然後將模型部署到生產系統,該系統里的應用程序要求低延遲的回應。來自應用程序的數據被添加到訓練數據集中,以改進模型。

使用正確的分析平台也很重要,因為一些機器學習工作流可能會在業務用戶和數據科學團隊之間造成瓶頸。例如,像Spark和Hadoop這樣的平台在開始工作之前可能需要將大量數據移動到GPU處理節點,這可能需要幾分鐘或幾小時的時間,同時限制了業務用戶的可訪問性。像Kinetica這樣的高性能GPU驅動的資料庫可以通過取消數據移動,把處理能力直接帶給數據,以此來加速機器學習的進度。在這種情況下,幾秒鐘內就能返回結果,這些結果會啟用互動式進程。

機器學習演算法

在GPU對超深度神經網路的訓練進行提升之前,這些實施方法由各種演算法主導,其中一些演算法比計算機的存在還早。由於這些演算法的簡單性和速度,它們在很多用例中仍然佔有一席之地。很多入門數據科學課程都是從連續變數的預測線性回歸和預測類別的邏輯回歸開始講起的。K-means聚類也是無監督學習的常用演算法。

深度神經網路是深度學習的後盾,它與大多數傳統的機器學習演算法有很多相同的應用,但它可以擴展到更複雜的用例。推理相對較快,但培訓是計算密集型的,它通常要佔用好幾個小時的GPU時間。

下圖是圖像識別的深度學習模型的圖形表徵。在這個例子中,輸入是一個圖像,節點是神經元,它們逐漸挑選出更複雜的特徵,直到輸出一個指示結果的代碼為止。

人們把圖像識別的例子稱為卷積神經網路(CNN),因為每個神經元都包含圖像蒙版,並使用名為卷積的技術將蒙版應用於圖像數據。還有其它類型的深度神經網路,例如遞歸神經網路(RNN),它可以處理時間序列數據,以進行財務預測和通用的多層網路,這些網路可以使用簡單的變數。

我們需要考慮的一個重要問題是,深度神經網路與很多傳統的機器學習演算法不同,它很難進行逆向工程,或不可能進行逆向工程。更重要的是,你並不總能確定推理是如何進行的。這是因為演算法可能會在成千上萬個神經元中填充權重,並找到人類無法理解的解決方案。信用評分是一個例子,如果你想了解分數是如何確定的,就不應該在這個例子中使用深度神經網路。

機器學習框架

從頭開始編寫機器學習模型可能很乏味。為了簡化實施方法,可以使用框架來規避複雜性並減少數據科學家和開發人員的障礙。以下是一些比較流行的機器學習框架。

例如,谷歌提供了一個名為TensorFlow的流行框架,它以支持圖像和語音識別的能力而聞名,並在TensorBoard中提供了一系列模型可視化工具。

TensorFlow的設計目的是使並行和多GPU上的深度神經網路更容易訓練,但它也支持傳統的演算法。它可以與大數據平台(如Hadoop和Spark)一起使用,以實現大規模並行工作負載。在數據移動可能成為瓶頸的情況下,Kinetica平台使用本地的TensorFlow集成,把GPU加速的工作負載直接帶給大數據集。

TensorFlow在模型(稱為估計器)和演算法(稱為優化器)之間進行抽象,它可以讓用戶在訓練模型時從多種演算法中進行選擇。例如,專家可以以簡單線性回歸作為演算法來編寫監督學習模型,然後將其與深度神經網路演算法進行比較。

歷史重演

機器學習的興起與互聯網的興起有著驚人的相似之處。這兩項研究數十年來都是由大學研究人員展開的,並得到了有限的商業使用。互聯網基於1969年啟動的一個網路,它在90年代已經成熟,這些網路擾亂了有這種在位企業的行業——反應遲鈍,直到業務被邊緣化。現在和互聯網一同崛起的公司都在引領機器學習的發展,而在位的公司則試圖了解其重要性,並從數據科學投資中提取價值。

任何讓組織洞察業務的軟體項目都需要業務用戶和具備將業務需求轉換為代碼的技能的人員之間的密切參與。大多數投資了軟體的組織都熟悉這種模式。一個關鍵的區別是,雖然機器學習需要對問題進行定義,但它的目的是尋找解決方案。

機器學習的廣泛採用要求業務分析師和軟體開發人員在與數據科學團隊進行交流時至少了解黑匣子級別(black-box level)的知識。還要求業務領導者了解如何通過機器學習解決以前通過認真定義的規則解決的問題,從而實現價值。成功使用機器學習並不需要大多數人來了解機器學習的細節。但是他們需要足夠的了解,這樣才能向數據科學專家提出正確的問題。

版權聲明:本文為企業網D1Net編譯,轉載需註明出處為:企業網D1Net,如果不註明出處,企業網D1Net將保留追究其法律責任的權利。

(來源:企業網D1Net)

企業網D1net已推出企業應用商店(www.enappstore.com),面向企業級軟體,SaaS等提供商,提供陳列,點評功能,不參與交易和交付。現可免費入駐,入駐後,可獲得在企業網D1net 相應公眾號推薦的機會。歡迎入駐。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

學習筆記:人工智慧基礎-機器學習
機器學習——logistic回歸實踐

TAG:機器學習 |