最簡單易懂的及其學習

本文用淺顯易懂的語言精準概括了機器學習的相關知識,內容全面,總結到位,剖析了機器學習的what,who,when, where, how,以及why等相關問題。從機器學習的概念,到機器學習的發展史,再到機器學習的各類算法,最後到機器學習的最新應用,十分詳盡。適合小白快速瞭解機器學習。


Machine Learning: A Primer

a quick introduction intended for non-technical readers


你是否使用像Siri或Alexa這樣的個人助理客戶端?你是否依賴垃圾郵件過濾器來保持電子郵件收件箱的乾淨?你是否訂閱了Netflix,並依賴它驚人的準確推薦來發現新的電影可看?如果你對這些問題說“是”,恭喜你!你已經很好地利用了機器學習!

 雖然這聽起來很複雜,需要大量的技術背景,但機器學習實際上是一個相當簡單的概念。爲了更好地理解它,讓我們研究一下關於機器學習的what,who,when, where, how,以及why。

什麼是機器學習?




One day ladies will take their computers for walks in the park and tell each other, “My little computer said such a funny thing this morning”.

—Alan Turing

機器學習的核心是“使用算法解析數據,從中學習,然後對世界上的某件事情做出決定或預測”。這意味着,與其顯式地編寫程序來執行某些任務,不如教計算機如何開發一個算法來完成任務。有三種主要類型的機器學習:監督學習、非監督學習和強化學習,所有這些都有其特定的優點和缺點。


監督學習涉及一組標記數據。計算機可以使用特定的模式來識別每種標記類型的新樣本。監督學習的兩種主要類型是分類和迴歸。在分類中,機器被訓練成將一個組劃分爲特定的類。分類的一個簡單例子是電子郵件帳戶上的垃圾郵件過濾器。過濾器分析你以前標記爲垃圾郵件的電子郵件,並將它們與新郵件進行比較。如果它們匹配一定的百分比,這些新郵件將被標記爲垃圾郵件併發送到適當的文件夾。那些比較不相似的電子郵件被歸類爲正常郵件併發送到你的郵箱。

第二種監督學習是迴歸。在迴歸中,機器使用先前的(標記的)數據來預測未來。天氣應用是迴歸的好例子。使用氣象事件的歷史數據(即平均氣溫、溼度和降水量),你的手機天氣應用程序可以查看當前天氣,並在未來的時間內對天氣進行預測。

 在無監督學習中,數據是無標籤的。由於大多數真實世界的數據都沒有標籤,這些算法特別有用。無監督學習分爲聚類和降維。聚類用於根據屬性和行爲對象進行分組。這與分類不同,因爲這些組不是你提供的。聚類的一個例子是將一個組劃分成不同的子組(例如,基於年齡和婚姻狀況),然後應用到有針對性的營銷方案中。降維通過找到共同點來減少數據集的變量。大多數大數據可視化使用降維來識別趨勢和規則。 

最後,強化學習使用機器的個人歷史和經驗來做出決定。強化學習的經典應用是玩遊戲。與監督和非監督學習不同,強化學習不涉及提供“正確的”答案或輸出。相反,它只關注性能。這反映了人類是如何根據積極和消極的結果學習的。很快就學會了不要重複這一動作。同樣的道理,一臺下棋的電腦可以學會不把它的國王移到對手的棋子可以進入的空間。然後,國際象棋的這一基本教訓就可以被擴展和推斷出來,直到機器能夠打(並最終擊敗)人類頂級玩家爲止。


但是,等等,你可能會說。我們是在說人工智能嗎?機器學習是人工智能的一個分支。人工智能致力於創造出比人類更能完成複雜任務的機器。這些任務通常涉及判斷、策略和認知推理,這些技能最初被認爲是機器的“禁區”。雖然這聽起來很簡單,但這些技能的範圍非常大——語言處理、圖像識別、規劃等等。

機器學習使用特定的算法和編程方法來實現人工智能。沒有機器學習,我們前面提到的國際象棋程序將需要數百萬行代碼,包括所有的邊緣情況,幷包含來自對手的所有可能的移動。有了機器學習,我們可以將代碼量縮小到以前的一小部分。很棒對吧?

 有一個缺失的部分:深度學習和神經網絡。我們稍後會更詳細地討論它們,請注意,深度學習是機器學習的一個子集,專注於模仿人類大腦的生物學和過程。


誰發展了機器學習?何時何地?




A breakthrough in machine learning would be worth ten Microsofts.—Bill Gates

在我看來,機器學習最早的發展是Thomas Bayes 在1783年發表的同名理論,貝斯定理髮現了給定有關類似事件的歷史數據的事件的可能性。這是機器學習的貝葉斯分支的基礎,它尋求根據以前的信息尋找最可能發生的事件。換句話說,Bayes定理只是一個從經驗中學習的數學方法,是機器學習的基本思想。



幾個世紀後,1950年,計算機科學家 Alan Turing發明了所謂的圖靈測試,計算機必須通過文字對話一個人,讓人以爲她在和另一個人說話。圖靈認爲,只有通過這個測試,機器才能被認爲是“智能的”。1952年,Arthur Samuel創建了第一個真正的機器學習程序——一個簡單的棋盤遊戲,計算機能夠從以前的遊戲中學習策略,並提高未來的性能。接着是Donald Michie 在1963年推出的強化學習的tic-tac-toe程序。在接下來的幾十年裏,機器學習的進步遵循了同樣的模式--一項技術突破導致了更新的、更復雜的計算機,通常是通過與專業的人類玩家玩戰略遊戲來測試的。

它在1997年達到巔峯,當時IBM國際象棋電腦深藍(Deep Blue)在一場國際象棋比賽中擊敗了世界冠軍加里·卡斯帕羅夫(Garry Kasparov)。最近,谷歌開發了專注於古代中國棋類遊戲圍棋(Go)的AlphaGo,該遊戲被普遍認爲是世界上最難的遊戲。儘管圍棋被認爲過於複雜,以至於一臺電腦無法掌握,但在2016年,AlphaGo終於獲得了勝利,在一場五局比賽中擊敗了Lee Sedol。

 機器學習最大的突破是2006年的深度學習。深度學習是一類機器學習,目的是模仿人腦的思維過程,經常用於圖像和語音識別。深度學習的出現導致了我們今天使用的(可能是理所當然的)許多技術。你有沒有把一張照片上傳到你的Facebook賬戶,只是爲了暗示給照片中的人貼上標籤?Facebook正在使用神經網絡來識別照片中的面孔。或者Siri呢?當你問你的iPhone關於今天的棒球成績時,你的話語會用一種複雜的語音解析算法進行分析。如果沒有深度學習,這一切都是不可能的。

 要獲得更全面的機器學習時間表,請務必查看這篇由Google雲團隊撰寫的偉大文章!

機器學習是如何工作的?




注意所有對數學恐懼的讀者:我很遺憾地告訴你,要完全理解大多數機器學習算法,就需要對一些關鍵的數學概念有一個基本的理解。但不要害怕!所需的概念很簡單,並且借鑑了你可能已經上過的課程。機器學習使用線性代數、微積分、概率和統計。



Top 3線性代數概念:

1.矩陣運算;

2.特徵值/特徵向量;

3.向量空間和範數

 

Top 3微積分概念:

1.偏導數;

2.向量-值函數;

3.方向梯度

 

Top 3統計概念:

1.Bayes定理;

2.組合學;

3.抽樣方法

 

對於特定的數學資源,我強烈推薦這篇來自MetaDesignIdeas的文章。

 一旦你對數學有了基本的理解,就該開始思考整個機器學習過程了。有五個主要步驟:

上面的圖表以比較清楚的方式解釋了步驟,所以在我們關注最關鍵的部分:爲數據和情況選擇正確的算法之前,花一分鐘的時間來研究它。

 

We don’t have better algorithms, we just have more data.—Peter Norvig


讓我們回顧一下算法的一些常見分組:

 

迴歸算法




這可能是最流行的機器學習算法,線性迴歸算法是基於連續變量預測特定結果的監督學習算法。另一方面,Logistic迴歸專門用來預測離散值。這兩種(以及所有其他迴歸算法)都以它們的速度而聞名,它們一直是最快速的機器學習算法之一。


基於實例的算法




基於實例的分析使用提供數據的特定實例來預測結果。最著名的基於實例的算法是k-最近鄰算法,也稱爲KNN。KNN用於分類,比較數據點的距離,並將每個點分配給它最接近的組。


決策樹算法




決策樹算法將一組“弱”學習器集合在一起,形成一種強算法,這些學習器組織在樹狀結構中,相互分支。一種流行的決策樹算法是隨機森林算法。在該算法中,弱學習器是隨機選擇的,這往往可以獲得一個強預測器。在下面的例子中,我們可以發現許多共同的特徵(就像眼睛是藍的或者不是藍色的),它們都不足以單獨識別動物。然而,當我們把所有這些觀察結合在一起時,我們就能形成一個更完整的畫面,並做出更準確的預測。

貝葉斯算法



 

絲毫不奇怪,這些算法都是基於Bayes理論的,最流行的算法是樸素Bayes,它經常用於文本分析。例如,大多數垃圾郵件過濾器使用貝葉斯算法,它們使用用戶輸入的類標記數據來比較新數據並對其進行適當分類。



聚類算法




聚類算法的重點是發現元素之間的共性並對它們進行相應的分組,常用的聚類算法是k-means聚類算法。在k-means中,分析人員選擇簇數(以變量k表示),並根據物理距離將元素分組爲適當的聚類。

 


深度學習和神經網絡算法




人工神經網絡算法基於生物神經網絡的結構,深度學習採用神經網絡模型並對其進行更新。它們是大、且極其複雜的神經網絡,使用少量的標記數據和更多的未標記數據。神經網絡和深度學習有許多輸入,它們經過幾個隱藏層後才產生一個或多個輸出。這些連接形成一個特定的循環,模仿人腦處理信息和建立邏輯連接的方式。此外,隨着算法的運行,隱藏層往往變得更小、更細微。



其他算法




下面的圖表是我發現的最好的圖表,它展示了主要的機器學習算法、它們的分類以及它們之間的關係。



The numbers have no way of speaking for themselves. We speak for them. We imbue them with meaning….Before we demand more of our data, we need to demand more of ourselves.—Nate Silver

 一旦你選擇並運行了你的算法,還有一個非常重要的步驟:可視化和交流結果。雖然與算法編程的細節相比,這看起來既愚蠢又膚淺,但是良好的可視化是優秀數據科學家和偉大科學家的關鍵隔膜。如果沒有人能夠理解,那麼驚人的洞察力又有什麼用呢?

 

爲什麼機器學習很重要?



Just as electricity transformed almost everything 100 years ago, today I actually have a hard time thinking of an industry that I don’t think AI will transform in the next several years.— Andrew Ng

現在應該清楚的是,機器學習有巨大的潛力來改變和改善世界。通過像谷歌大腦和斯坦福機器學習小組這樣的研究團隊,我們正朝着真正的人工智能邁進一大步。但是,確切地說,什麼是機器學習能產生影響的下一個主要領域?


物聯網

物聯網(Internet of Things),或者說IOT,是指你家裏和辦公室裏聯網的物理設備。流行的物聯網設備是智能燈泡,其銷售額在過去幾年裏猛增。隨着機器學習的進步,物聯網設備比以往任何時候都更聰明、更復雜。機器學習有兩個主要的與物聯網相關的應用:使你的設備變得更好和收集你的數據。讓設備變得更好是非常簡單的:使用機器學習來個性化您的環境,比如,用面部識別軟件來感知哪個是房間,並相應地調整溫度和AC。收集數據更加簡單,通過在你的家中保持網絡連接的設備(如亞馬遜回聲)的通電和監聽,像Amazon這樣的公司收集關鍵的人口統計信息,將其傳遞給廣告商,比如電視顯示你正在觀看的節目、你什麼時候醒來或睡覺、有多少人住在你家。



聊天機器人

在過去的幾年裏,我們看到了聊天機器人的激增,成熟的語言處理算法每天都在改進它們。聊天機器人被公司用在他們自己的移動應用程序和第三方應用上,比如Slack,以提供比傳統的(人類)代表更快、更高效的虛擬客戶服務。

鄭州婦科醫院×××:http://yiyuan.120ask.com/zzfck/

  鄭州×××醫院:http://yiyuan.120ask.com/zznk/




自動駕駛

我個人最喜歡的下一個大型機器學習項目是最遠離廣泛生產的項目之一。然而,目前有幾家大型公司正在開發無人駕駛汽車,如雪佛蘭、Uber和Tsla。這些汽車使用了通過機器學習實現導航、維護和安全程序的技術。一個例子是交通標誌傳感器,它使用監督學習算法來識別和解析交通標誌,並將它們與一組標有標記的標準標誌進行比較。這樣,汽車就能看到停車標誌,並認識到它實際上意味着停車,而不是轉彎,單向或人行橫道。



這就是我們進入機器學習世界的非常短暫的旅程。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章