算法
然而,並不是每一個人都瞭解機器學習是什麼。這裏有幾個例子:編程
什麼是機器學習?它與大數據和業務分析有何不一樣?網絡
機器學習,數據分析,數據挖掘,數據科學和AI之間有什麼區別?機器學習
最近,咱們發佈了一個有趣的(但很是真實的)主題。函數
說道這一點,考慮到這個話題上的混亂程度,咱們打算寫一篇關於機器學習的介紹性文章。這個想法是去掉全部可能在過嚇唬人的術語,創造一些能夠被5歲的孩子輕鬆瞭解的東西(emmmmmmm............好吧,對不起,可能須要高中畢業)!性能
爲了確保我不會高估(或低估)目標受衆的能力,我找到了10個對分析徹底陌生的人。他們以前都沒有據說過機器學習(是的,真的有這樣的人!!!!!)。他們是這樣說的:學習
我不知道,多是向機器中學習?測試
讓機器學習一些東西,也就是編程機器軟件大數據
藉助計算機幫助我學習?人工智能
經過在線課程學習(!!!)
這頗有趣!完美的解釋了他們認爲的機器學習。如下是我向這些人解釋機器學習的概念:
機器學習是指以最智能的方式處理大量數據(經過開發算法)以得到可操做的看法的技術。
這時,他們看着我,就好像我是火星人同樣對他們說話!因此,我中止了愚蠢的術語講解,而後反過來問他們問題,方便他們能夠更深刻的瞭解:
KJ:當你在谷歌搜索某些東西時,你認爲會發生什麼?
組員:Google會顯示與該搜索相關的網頁。
KJ:那很好!但到底是什麼讓Google能夠向你顯示這些相關頁面呢?
此次看起來他們想的比較多。而後組內的一些人開始發言
組員:Google會查看用戶過去的點擊次數,瞭解哪些網頁與這些搜索更相關,而後在搜索結果上提供這些結果。
這是一個很好的嘗試。但我還必須控制住本身的衝動,告訴他們Google作到這一點要比他們這個簡單的概念複雜的多。可是,我想我有一個更好的方法來解釋機器學習。因此,我繼續說:
KJ:好的,這聽起來不錯。可是,Google會按期處理多少次搜索以及全部搜索的類型?
組員:這必定是一個很大的數字 - 可能每一年是一萬億次搜索
KJ:那麼,大家認爲Google如何準確地知足如此多的請求?大家是否是認爲有人坐在Google辦公室並不斷處理哪些搜索結果是跟搜索的問題是相關的呢?
小組成員:我尚未想過,可是不會有人去處理這些,由於這好像聽起來不像是人類能夠處理的。
KJ:你是對的。這是機器學習發揮做用的地方。機器學習是一組技術,以最智能的方式處理大量數據(經過開發算法或一組邏輯規則), 來得到可操做的結果(在咱們討論的問題中是爲用戶提供搜索)。
這個時候小組成員們按照意料之中的點了點頭,看起來像我已經完成任務......耶!但是總以爲哪裏不對呢…
你開始學習有關機器學習的那一刻,你會看到各類知識好像火箭同樣在高速的轟炸着你。這些是術語在行業內使用的比較多。如下是其中一些:人工智能,深度學習,數據挖掘和統計。
爲了讓你更加清楚理解,我以簡單的方式解釋了這些術語。你還會了解到這些術語在機器學習中的重要性:
它指的是一臺計算機(機器)進行編程使得本身變得合理的程序。啊! 什麼是理性的?理性是作出決定的基礎。
我提到「理性」而不是智力(如預期的那樣),由於咱們人類傾向於作出高度理性和可行的決策而不是明確的智慧。這是由於全部智能決策都不須要理性和可行(個人假設)。所以,使用人工智能背後的核心動機是以一種時髦的方式實現計算機(機器)的行爲,而不是由愚蠢的人類指導!
人工智能能夠包括用於檢查程序中的某些參數是否正常運行的程序。例如,若是參數說「X」超過某個閾值,機器可能會發出警報,而該閾值反過來可能又會影響相關過程的結果。
機器學習是人工智能的一個子集,其中機器通過培訓,能夠從中學習過去的經驗。過去的經驗是經過收集的數據制定的。而後它結合樸素貝葉斯,支持向量機等算法來提供最終結果。
在這個高水平的階段,我假設你已經瞭解了統計學。若是沒有的話,這裏有一個可讓你快速瞭解統計學的定義,統計學是數學的一個分支,它利用數據,或者是整個羣體的數據,或者從羣體中抽取一個樣本,來進行分析並給出推論。使用的技術統計有迴歸、方差、標準差、條件機率等等。
讓咱們理解這一點,首先須要假設,我須要將收件箱中的郵件分爲兩類:「垃圾郵件」和「重要郵件」。爲了識別垃圾郵件,我可使用稱爲樸素貝葉斯的機器學習算法,該算法將檢查過去垃圾郵件的頻率,從而將新郵件識別爲垃圾郵件。樸素貝葉斯使用統計技術貝葉斯定理(一般稱爲條件機率)。所以,咱們能夠說機器學習算法使用統計概念來執行機器學習。
PS:機器學習和統計模型之間的主要區別來自它們的發源地。機器學習起源於計算機科學系,統計建模來自數學系。此外,任何統計建模都假設許多分佈,而機器學習算法一般不知道全部屬性的分佈。
深度學習與機器學習算法(人工神經網絡,ANN)相關聯的,該算法使用人腦的概念來促進任意函數的建模。神經網絡須要大量數據,而且該算法在同時對多個輸出進行建模時具備高度靈活性。神經網絡是一個更復雜的主題,咱們能夠在徹底獨立的文章中對其進行討論。
在我剛開始作數據分析師的日子裏,我老是習慣於混淆兩個術語:機器學習和數據挖掘。可是,後來我瞭解到,數據挖掘處理的是搜索特定信息。機器學習專一於完成一項特定的任務。讓我舉一個幫助我記住差別的例子; 教別人如何跳舞是機器學習。利用某人在城市中尋找最佳的舞蹈中心是數據挖掘。是否是超級簡單!
教機器涉及到一個結構化過程,這個過程當中,每一個階段均可以構建更好的機器版本。爲簡化起見,教學機器的過程可分爲三個部分:
我將在隨後的文章中詳細介紹這3個步驟中的每個。到目前爲止,你應該明白,這3個步驟確保機器的總體學習可以同等重要地執行給定的任務。機器的成功取決於兩個因素:
抽象數據的泛化效果如何。
這臺機器如何把它的學習應用到預測將來的實際應用中。
有5個基本步驟用於執行機器學習任務:
收集數據:不管是來自excel,access,文本文件等的原始數據,這一步(收集過去的數據)構成了將來學習的基礎。相關數據的種類,密度和數量越多,機器的學習前景就越好。
準備數據:任何分析過程都會依賴於使用的數據質量如何。人們須要花時間肯定數據質量,而後採起措施解決諸如缺失的數據和異常值的處理等問題。探索性分析多是一種詳細研究數據細微差異的方法,從而使數據的質量迅速提升。
訓練模型:此步驟涉及以模型的形式選擇適當的算法和數據表示。清理後的數據分爲兩部分 - 訓練和測試(比例視前提肯定); 第一部分(訓練數據)用於開發模型。第二部分(測試數據)用做參考依據。
評估模型:爲了測試準確性,使用數據的第二部分(保持/測試數據)。此步驟根據結果肯定算法選擇的精度。檢查模型準確性的更好測試是查看其在模型構建期間根本未使用的數據的性能。
提升性能:此步驟可能涉及選擇徹底不一樣的模型或引入更多變量來提升效率。這就是爲何須要花費大量時間進行數據收集和準備的緣由。
不管是任何模型,這5個步驟均可用於構建技術,當咱們討論算法時,您將找到這五個步驟如何出如今每一個模型中!
顧名思義,預測模型用於根據歷史數據預測將來結果。預測模型一般從一開始就給出明確的指示,如須要學習的內容以及如何學習。這類學習算法被稱爲監督學習。
例如:當營銷公司試圖找出哪些客戶可能會流失時,就會使用監督學習。咱們還能夠用它來預測地震,龍捲風等危險發生的可能性,目的是肯定總保險價值。使用的算法的一些示例是:最近鄰算法,樸素貝葉斯算法,決策樹算法,迴歸算法等。
它用於訓練描述模型,其中沒有設置目標,而且沒有一個特徵比另外一個重要。無監督學習的狀況能夠是:當零售商但願找出產品組合時,顧客每每會更頻繁地購買。此外,在製藥工業中,可使用無監督學習來預測哪些疾病可能與糖尿病一塊兒發生。這裏使用的算法示例是:K-均值聚類算法
這是機器學習的一個例子,其中機器被訓練根據業務需求作出特定的決定,惟一的座右銘是最大化效率(性能)。強化學習所涉及的理念是:機器/軟件代理根據其所處的環境不斷地自我訓練,並應用它豐富的知識來解決業務問題。這種持續的學習過程能夠減小人類專業知識的參與,從而節省大量時間!
RL中使用的算法的示例是馬爾可夫決策過程。
PS:監督學習和強化學習(RL)之間存在細微差異。RL主要涉及經過與環境交互來學習。RL代理從其過去的經驗中學習,而不是從其持續的試驗和錯誤學習過程當中學習,而是外部主管提供示例的監督學習中學習。
瞭解差別的一個很好的例子是無人駕駛汽車。自駕車使用強化學習來不斷作出決策 - 走哪條路?速度是是多少?這些問題都是與環境互動後決定的。監督學習的一個簡單表現是預測出租車從一個地方到另外一個地方的車費。
瞭解機器學習的應用是很是有趣的。Google和Facebook普遍使用ML將其各自的廣告推送給相關用戶。如下是你應該瞭解的一些ML應用:
銀行和金融服務:ML可用於預測可能違約支付貸款或信用卡帳單的客戶。這是相當重要的,由於機器學習將幫助銀行識別那些是能夠得到貸款和信用卡的客戶。
醫療保健:它用於根據患者的症狀診斷致命疾病(例如癌症),並根據相似患者的過去數據對其進行統計。
零售:它用於識別銷售頻繁(快速移動)的產品和緩慢移動的產品,幫助零售商決定從貨架上引入或移除哪一種產品。此外,機器學習算法可用於查找哪兩個/三個或更多產品一塊兒銷售。這樣作是爲了設計客戶忠誠度計劃,從而幫助零售商開發和維護忠誠的客戶。
這些例子只是冰山一角。機器學習在每一個領域都有普遍的應用。能夠查看一些Kaggle問題以得到更多知識,上面包含的例子很容易理解,至少能夠體驗機器學習的無所不能。
隨着人工智能的熱潮,人們開始逐漸的對機器學習產生了興趣,而這種興趣也是全球化,雖然人們對機器學習有很大的興趣,可是人們對機器學習彷佛並無真正的瞭解,而文章的做者藉由向一些非數據科學行業內的小白科普機器學習的過程當中,用很是白話的語言向咱們介紹了什麼是機器學習,一些機器學習中的專業術語,機器學習的步驟和機器學習的類型與應用。而且經過一些小案例向咱們解釋了各類算法的做用,在我認爲,機器學習是進入人工智能領域一塊很好的墊腳石,至少不會再將來的浪潮中使咱們迷失了方向。
文章翻譯自:Machine Learning basics for a newbie
原文連接:https://www.analyticsvidhya.com/blog/2015/06/machine-learning-basics/