跟我一起學(xué)人工智能(二)

跟我一起學(xué)人工智能(二)

文 | 小步

上一篇文章里簡單說了下機器學(xué)習(xí)、深度學(xué)習(xí)的幾個概念,如果你已經(jīng)看完了上篇文章,還是建議你去搜索下這幾個名詞的權(quán)威解釋,更能加深你的理解,也使你對這些概念的認識更加嚴(yán)謹和規(guī)范~

話不多說,這篇重點說下機器學(xué)習(xí)重要的兩大模型:線性回歸和邏輯回歸模型。

學(xué)習(xí)之前你需要學(xué)會如下知識:

函數(shù)(一次函數(shù)、二次函數(shù)、反比例函數(shù)、三角函數(shù)等),導(dǎo)數(shù),偏導(dǎo)數(shù),矩陣知識。

如果對上述不懂,可以去萬能的b站學(xué)習(xí)下高數(shù),線代,離散,也不用全部都學(xué),用啥學(xué)啥就好了~

這篇文章因為涉及很多數(shù)學(xué)方面知識,好多細節(jié)也沒有表述清楚,再加之自己也沒有理解透徹,如果想要學(xué)習(xí)的話,還是建議去b站看下ng的視頻,從2-1開始看~

傳送門:https://www.bilibili.com/video/av9912938/#page=6

如有此篇文章有不妥之處,還麻煩告知我下,大家共同進步!微信公眾號:多一點思考

線性回歸模型

通過一個房子的面積,房間數(shù)量等等,估算出這個房價是多少。

通過人均GDP,國民總收入等預(yù)測未來人口自然增長率。

研究用戶的滿意度與產(chǎn)品的顏色,重量,大小等之間的關(guān)系,改善產(chǎn)品。

…………

以上每個案例都其實可以用線性回歸模型來解決,它們的特點:

需要先給模型輸入大量的數(shù)據(jù)以及每條數(shù)據(jù)對應(yīng)的標(biāo)簽值,如房子的面積,房間數(shù)量等的矩陣X(房子的面積,房間數(shù)量等屬性稱作特征量,矩陣X稱作訓(xùn)練集)以及對應(yīng)的房子價格的矩陣Y(矩陣Y稱作預(yù)測集

矩陣X內(nèi)每個元素的上標(biāo)表示第幾條數(shù)據(jù),下標(biāo)表示第幾個特征量,如X上標(biāo)2,下標(biāo)3,表示訓(xùn)練集的第2條的第3個特征量。

矩陣Y對應(yīng)訓(xùn)練集的每行的結(jié)果值。

有點迷糊?拿預(yù)測房價舉例子,矩陣X的每行僅有兩個特征量,房子面積和房間數(shù)量,矩陣Y每一行對應(yīng)矩陣X的每一行特征量的房價。

線性回歸就是通過矩陣X,Y和算法得到數(shù)據(jù)的一般規(guī)律進行預(yù)測~

下面先說下回歸算法不得不提的三個概念:(這三個函數(shù)我找了好久權(quán)威概念,還是沒找到~只好根據(jù)自己的理解說下)

假設(shè)函數(shù):這個函數(shù)可以是一元一次函數(shù),二元一次函數(shù)等等,可以理解為用來擬合數(shù)據(jù)的函數(shù)。

代價函數(shù):用假設(shè)函數(shù)擬合數(shù)據(jù)時產(chǎn)生的代價。

優(yōu)化目標(biāo):確認最優(yōu)解的函數(shù)。

我們先拿只有一個特征量的訓(xùn)練集來說下線性回歸模型算法,數(shù)據(jù)表如下:

對應(yīng)的散點圖如下:

從散點圖上來看,我們可以用 h (Θ) ?= Θ0+ Θ1 X 來作假設(shè)函數(shù)(當(dāng)然也可以用二次函數(shù),后面會提到,先這么認為)

代價函數(shù):

優(yōu)化目標(biāo):

我們要做的就是求得使J(Θ0,Θ1)最小(即代價最小,最能擬合數(shù)據(jù))的Θ0,Θ1,這就又引出一個概念,梯度下降算法:

關(guān)于梯度下降的一個直觀解釋:我們在大山(J(Θ0,Θ1)函數(shù))的某個位置,打算走到山底,于是決定走一步算一步,每走一步,就計算該位置的梯度(梯度是函數(shù)在該點下降最快的方向),沿著梯度的方向,也就是下山最快的方向走一步,這樣一步一步走下去就可以快速得到達山腳下,當(dāng)然還可能走到一個山谷的最低點。

這里需要注意的一點是,如果學(xué)習(xí)速率太小,則需要進行多次迭代才能到達最低點,學(xué)習(xí)速率過大,就有可能越過最低點。我們可以通過指定多個學(xué)習(xí)速率值,來選擇最合適的那個。

在算法中,通過做自動收斂測試來檢測是否得到了最低點的值,即?J(Θ)< β 則可認為已經(jīng)收斂。

通過上面這幾個式子,我們就可以得出最能擬合數(shù)據(jù)的Θ0,Θ1的值,最重要的是,算法是可以用python代碼寫出來的~

上面的例子其實僅僅是對于一個特征量的情況下所說的,那如果多個特征量怎么辦呢?

我們改下假設(shè)函數(shù):

對于每條數(shù)據(jù)添加一個恒為1的X0(對于整體不影響),這樣我們就可以將假設(shè)函數(shù)寫成兩個矩陣相乘的形式。X1,X2……Xn分別表示特征量1,2……n的值。

代價函數(shù)以及梯度下降算法:

這里梯度下降算法中將求導(dǎo)后的結(jié)果寫了出來。

上面是多個特征量的情況,如果我要讓一個二次/三次的函數(shù)來做假設(shè)函數(shù)怎么辦?

對于這種情況的處理,可以直接將特征量的值N方帶入,比如:

到這里線性回歸模型已經(jīng)差不多了。

為了提升梯度下降算法的性能,我們其實提前還需要對訓(xùn)練集進行優(yōu)化,有個專業(yè)名詞叫特征縮放。

用(該特征量的值 - 該特征量集合的均值)/(該特征量集合中最大值 - 該特征量集合中最小值)來優(yōu)化訓(xùn)練集,從而使梯度下降算法效率更高。

邏輯回歸模型

預(yù)測一個用戶是否點擊特定的商品

判斷用戶的性別

判斷用戶是否購買給定的類別商品

判斷一個腫瘤是惡性的還是良性的

…………

以上其實是邏輯回歸中簡單的二分類問題~下面是實現(xiàn)的具體算法。(以二分類舉例,預(yù)測集只有0,1兩個取值)

線性回歸的結(jié)果輸出是一個連續(xù)值,而值的范圍是無法被限定的,那我們有沒有辦法將結(jié)果映射成(0,1)之間的概率值呢?于是我們找到了一個神奇的sigmoid函數(shù),詳見下面的假設(shè)函數(shù)h(X)。

新定義的代價函數(shù)J(Θ),如果y=1,h(x)越接近于1,J(Θ)越小即代價越小,反之,h(x)越接近于0,J(Θ)越大即代價越大。如果y=0,,h(x)越接近于1,J(Θ)越大即代價越大,反之,h(x)越接近于0,J(Θ)越小即代價越小。(可以結(jié)合函數(shù)圖像來具體分析)

梯度下降算法不變。

多分類問題以后再歸納總結(jié)~

從前只是覺得數(shù)學(xué)只有考上上才能派上用場,沒想到學(xué)好數(shù)學(xué)還能干這么多事情~后悔當(dāng)初沒好好學(xué)數(shù)學(xué)呀。

下篇文章不出意外的話,會出一篇python基本語法的文章,敬請期待~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • AI人工智能時代,機器學(xué)習(xí),深度學(xué)習(xí)作為其核心,本文主要介紹機器學(xué)習(xí)的基礎(chǔ)算法,以詳細線介紹 線性回歸算法 及其 ...
    erixhao閱讀 14,220評論 0 36
  • 注:題中所指的『機器學(xué)習(xí)』不包括『深度學(xué)習(xí)』。本篇文章以理論推導(dǎo)為主,不涉及代碼實現(xiàn)。 前些日子定下了未來三年左右...
    我偏笑_NSNirvana閱讀 40,599評論 12 145
  • 機器學(xué)習(xí)是做NLP和計算機視覺這類應(yīng)用算法的基礎(chǔ),雖然現(xiàn)在深度學(xué)習(xí)模型大行其道,但是懂一些傳統(tǒng)算法的原理和它們之間...
    在河之簡閱讀 20,944評論 4 65
  • 引言 機器學(xué)習(xí)欄目記錄我在學(xué)習(xí)Machine Learning過程的一些心得筆記,涵蓋線性回歸、邏輯回歸、Soft...
    hfk閱讀 4,501評論 4 18
  • 這一章講到的是一致性原則。這個原則可以用在教育孩子上,讓他許下承諾,寫下來,然后這樣就可以變成對他的約束。我要加強...
    小金魚藏在水草后閱讀 345評論 0 0

友情鏈接更多精彩內(nèi)容