當前位置:
首頁 > 最新 > 看官,機器學習了解一下?

看官,機器學習了解一下?

隨著人工智慧火熱的持續升級,入門機器學習已經迫在眉睫

越來越多的企業已經開始逐步在產品中應用機器學習的模型,當下人工智慧火熱,未來引發一場技術革命也說不準。身為程序員,需要時刻了解前沿的各種信息,這樣才能保證自己不被時代所淘汰。

本文將自己在機器學習中的筆記內容分享出來,也記錄自己的學習過程。

什麼是機器學習?

機器學習顧名思義,就是人類教會計算機利用以往的經驗來完成指定的任務,能夠像人類一樣學習。

機器學習有三個要素:。這三者之間的關係就是通過數據利用一定的演算法生成模型,讓機器可以按照模型去處理或者預測新的數據。

機器學習常用的演算法主要有等演算法。此文先用簡單的例子來逐一講解各個演算法概念,後續會詳細介紹具體的原理和推導過程。

決策樹

舉個例子,我們有一些統計某些APP的下載情況的數據,如下圖:

現在我們需要根據這些數據預測新用戶會下載哪類APP,來進行精準的APP廣告投放。

通過分析數據得出,我們可以根據年齡和性別大概判斷不同的用戶會下載哪類APP。

這就類似我們提出一個問題,通過判斷,將答案分成兩類,然後重複以上步驟,繼續提問回答,最終得到類似樹杈的模型,如下圖所示:

這種預測的方式被稱為決策樹。

樸素貝葉斯

我們換個例子,現在我們需要製作一個垃圾郵件檢測分類器,首先我們根據現有的郵件來手動標記垃圾郵件,找到垃圾郵件一般含有的特徵。比如有100封郵件,我們手工找出垃圾郵件有25封,然後我們發現垃圾郵件中含有"cheap"這個單詞有20封,這樣可以推測如果一封郵件中含有「cheap」單詞,那麼它是垃圾郵件的概率為80%.

同理,我們也可以尋找其他的特徵來預測,比如錯別字,沒有標題等等。這種通過打標籤計算概率來分類事物的方式被稱為樸素貝葉斯。

線性回歸

再來個,我們有一些大house,還有一些小居室,分別知道他們的面積和房價。現在需要預測一個面積位於他們之間的房子的價格。

將這些數據用坐標系表示出來,橫軸代表面積,縱軸代表房價:

然後找到某一條直線能夠擬合所有的數據,這裡尋找這條直線使用梯度下降法(後面會介紹),通過找到所有數據點到直線距離的平方和的最小值(最小二乘法),來確定最優擬合直線。

這種方式被稱為線性回歸。

梯度下降法

上文提到梯度下降法,很容易理解,假設我們在某個山頂,目標是到達山底。

該怎麼處理呢?一般來說我們會查看四周下山的路,找到下降距離最大的方向,然後朝這個方向下山,反覆此步驟,直至到達山底,這種方式就是梯度下降法。

在現實中我們可以把山頂想像成要解決的問題,到達山底可以當成對問題的解答。

邏輯回歸

是個好東西,能夠幫助我們理解概念。假設一所學校的招生辦,有一些往年學校招生的成績數據。現在有位學生申請學校,入學考試為7分,在校成績為6分,需要判斷該學生是否達標。

觀察往年的招生數據,我們會發現招生和未被招進的數據大概可以用直線分割,使用最小二乘法找到最擬合的分割線,通過梯度下降法來尋找,找到以後將該學生成績帶入坐標系中來查看結果。如圖所示:

可以預測該學生可以被錄取,這種演算法被稱為邏輯回歸。

神經網路

還是用上面的例子,假如我們有一名同學入學成績是9分,但是在校成績是1分,按照上面的預測,該學生可以入學。但是實際上這是不合理的,因為在校成績太低,此時模型已經不能覆蓋類似這種數據。

這種情況下該如何處理呢?可能實際錄取學生的數據是這樣的:

此時一條直線已經不能完全將錄取和未被錄取的學生分割了,可以用兩條直線來區分這些數據,這樣會分成4個區域,這樣可以根據不同的成績來將數據寫入坐標系,然後判定數據在直線上方標記為YES,在直線下方標記為NO,就可以得到下圖的模型:

最後將該學生數據帶入模型中,入學成績為9,在校成績為1的數據應該寫在右下方區域,分別為YES和NO。根據"和"原則,結果應該為NO,即不能錄取。

這種判斷方式就是神經網路,輸入數據根據"和"原則來判斷輸出結果為「YES」還是「NO」。

由於和人類的神經處理方式極為相似,因此被稱為神經網路。神經網路在很多方面都有應用,比如面部識別,語音識別,AlphaGo以及無人駕駛。

SVM(支持向量機)

假設我們有幾個點的數據,現在需要使用線條分割這些數據,從圖中看出我們可以找到至少兩條直線都能將數據分割開來。

我們目標是找到一條最優直線,在這個過程中,首先需要去掉離直線最遠的點,這些點會有較大幹擾。然後找到剩餘的點到直線的距離,查看這些點到哪條直線的最小距離最大,我們的目標就是讓這個最小值儘可能的大,同樣這個過程也會使用梯度下降法來找到這條最優直線。

從上圖中可以看出,最終黃線的效果要比藍線的效果好,這種方式被稱為SVM(支持向量機)。

題後話

機器學習並不僅僅局限於上述提到的演算法,也並不像所說的那樣簡單,現實中會有大量的數據和各種問題需要處理,本文總結的內容都盡量避免了數學的內容,但想搞懂機器學習原理最終都要回歸到數學上,例如概率與統計學,線性代數,微積分這些都是少不了的(大學欠下的債遲早要還的)。

後續的文章中我會盡量用通俗的語言來總結,但是如果想入門機器學習,數學是一定需要的,這是理解原理必備的理論基礎。

最後,歡迎大家關注我的公眾號,讓我們一起學習分享,努力實現開掛的人生!


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

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


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

VAR和智能晶元亮相世界盃賽場 法國隊成最大贏家;GPU、FPGA晶元成為增強機器學習的「左膀右臂」
AI開發人員可以使用18個機器學習平台

TAG:機器學習 |