AI 搬運工 | 監督學習之迴歸分析法:預測連續數值~
迴歸:預測一個連續數值
迴歸,指研究一組隨機變數(Y1 ,Y2 ,…,Yi)和另一組(X1,X2,…,Xk)變數之間關係的統計分析方法,又稱多重回歸分析。
迴歸分析法可預測連續變數Y的值(continuous target variable Y)。通過輸入X值估算Y值,如房價、人類壽命。
在統計學中,變數按變數值是否連續可分為連續變數與離散變數兩種。在一定區間內可以任意取值的變數叫連續變數,其數值是連續不斷的,相鄰兩個數值可作無限分割,即可取無限個 ofollow,noindex">數值 。例如,生產零件的規格尺寸,人體測量的身高、體重、胸圍等為連續變數,其數值只能用測量或計量的方法取得。
反之,其數值只能用自然數或 整數 單位計算的則為 離散變數 。例如,企業個數,職工人數,裝置臺數等,只能按計量單位數計數,這種變數的數值一般用計數方法取得。
收入預測是迴歸分析中的一個經典問題。輸入值X涵蓋了資料集中所有可用於個體收入預測的相關資訊,如所受教育年限、工作年限、工作職位、郵件編碼。這些都被稱為特徵(features),它可以是數字(如工作年限),也可以是某個分類(如工作職位或學習領域)。
如果要了解這些特徵與目標輸出值Y之間的關係,你需要儘可能多地進行訓練觀察,以促使你的模型可以習得X與Y之的關係。
資料被分為訓練集和測試集。訓練集資料含有標籤,因此你的模型可以從這些帶有標籤的訓練樣本中學習。測試集資料沒有標籤,也就是說,你並不知道你想要預測的數值。但重要的是,你的模型具有更好的泛化效能,從而可以在測試集上表現得更好。
迴歸
Y=f(X)+ ε, X=(x1,x2,....xn)
訓練:機器從帶有標籤的訓練資料中習得f
測試:機器從無標籤的測試資料中預測Y
在簡單的二維示例中,每行包含某個人的教育水平和收入。新增更多行資料和更多特徵,模型會更復雜,但可能會更準確。
訓練集

訓練集.png
測試集

測試集.png
那麼我們如何解決這些問題呢?
我們如何在現實世界裡構建一個可以準確且有效預測的模型呢?監督學習演算法可以幫助我們。
那接下來我們就研究監督學習演算法。我們將探索一些方法,深入迴歸與分類,並舉例說明機器學習的概念。
線性迴歸
首先,我們利用線性迴歸來解決收入預測問題,因為線性模型並不適用於影象識別。
我們有一個數據集X,以及對應的目標值。OLS(普通最小二乘法)迴歸分析的目標是學習可以預測新x值的線性模型,並儘可能減小誤差。我們希望能夠根據他們的受教育年限來推測某個人的收入。
X_train = [4, 5, 0, 2, …, 6] # 高等教育年限
Y_train = [80, 91.5, 42, 55, …, 100] # 對應年收入, 數千美元

1.jpg
線性迴歸是一種引數方法,它對於X和Y的函式關係形式做出了一種假設,因此,在這種模型下,當給出一個特定x值的時候,可根據模型預測ŷ的值。
注:引數方法,是指在總體分佈已知的情況下利用樣本資料推斷總體的方法。通常情況下總體資料無法全部得到,或者獲得總體資料需要花費很多,因此有必要進行抽樣,然後通過樣本推斷總體,引數方法屬於推斷統計的一部分,一般正態分佈用引數方法。引數方法和非引數方法二者的根本區別在於引數方法要利用到總體的資訊(總體分佈、總體的一些引數特徵如方差),以總體分佈和樣本資訊對總體引數作出推斷。

2.jpg
在本例中,我們假設,X和Y之間存線上性關係,也就是說,X每增加一個單元,Y會相對應有所增加。
β0是y軸截距,β1是線的斜率,即教育年限增加一年,收入會增加(或減少)多少。
我們的目標是學習這個模型引數(本例中的β0和β1),以縮小模型預測的誤差。
如何找到最佳引數?
- 定義一個成本函式或者損失函式,以衡量模型預測的不準確度。
- 找到可以減少損失的引數,即讓我們的模型儘可能準確。
從圖形上來看,這在兩個維度中會導致最佳擬合線。在三個維度畫面中,我們可以畫一個平面,依此類推更高維度的超平面。

4.jpg
從數學上來講,我們觀察每個真實資料點(y)與模型預測(ŷ)之間的差異。將所有資料去最大值和負數值,然後求和,取平均值。如此一來,我們可衡量資料對線路的匹配程度。

3.png
針對此類簡單的問題,我們可以利用微積分來尋找最佳beta引數,將損失函式最小化。但是,當成本函式越來越複雜時,此類方法並不可行。因此,促使了梯度下降方法的出現,利用梯度下降,可將複雜損失函式最小化。
PS: 什麼是梯度下降?
梯度下降是迭代法的一種,可以用於求解最小二乘問題(線性和非線性都可以)。在求解機器學習演算法的模型引數,即無約束優化問題時,梯度下降(Gradient Descent)是最常採用的方法之一,另一種常用的方法是最小二乘法。在求解損失函式的最小值時,可以通過梯度下降法來一步步的迭代求解,得到最小化的損失函式和模型引數值。反過來,如果我們需要求解損失函式的最大值,這時就需要用梯度上升法來迭代了。在機器學習中,基於基本的梯度下降法發展了兩種梯度下降方法,分別為隨機梯度下降法和批量梯度下降法。
迴歸分析法講完了 接下來已經到分類演算法啦