線性回歸演算法

2021-09-11 17:21:00 字數 3141 閱讀 7905

1、有監督學習(supervised learning)

不僅把訓練資料丟給計算機,而且還把分類的結果(資料具有的標籤)也一併丟給計算機分析。 

計算機進行學習之後,再丟給它新的未知的資料,它也能計算出該資料導致各種結果的概率,給你乙個最接近正確的結果。 

由於計算機在學習的過程中不僅有訓練資料,而且有訓練結果(標籤),因此訓練的效果通常不錯。

有監督學習的結果可分為兩類:分類或回歸。

2、無監督學習(unsupervised learning)

只給計算機訓練資料,不給結果(標籤),因此計算機無法準確地知道哪些資料具有哪些標籤,只能憑藉強大的計算能力分析資料的特徵,從而得到一定的成果,通常是得到一些集合,集合內的資料在某些特徵上相同或相似。

3、泛化能力(generalization ability)是指乙個機器學習演算法對於沒有見過的樣本的識別能力。我們也叫做舉一反三的能力,或者叫做學以致用的能力。

4. 欠擬合

首先欠擬合就是模型沒有很好地捕捉到資料特徵,不能夠很好地擬合資料

解決方法:

1)新增其他特徵項,有時候我們模型出現欠擬合的時候是因為特徵項不夠導致的,可以新增其他特徵項來很好地解決。例如,「組合」、「泛化」、「相關性」三類特徵是特徵新增的重要手段,無論在什麼場景,都可以照葫蘆畫瓢,總會得到意想不到的效果。除上面的特徵之外,「上下文特徵」、「平台特徵」等等,都可以作為特徵新增的首選項。

2)新增多項式特徵,這個在機器學習演算法裡面用的很普遍,例如將線性模型通過新增二次項或者三次項使模型泛化能力更強。例如上面的的例子。

3)減少正則化引數,正則化的目的是用來防止過擬合的,但是現在模型出現了欠擬合,則需要減少正則化引數。

5. 過擬合

通俗一點地來說過擬合就是模型把資料學習的太徹底,以至於把雜訊資料的特徵也學習到了,這樣就會導致在後期測試的時候不能夠很好地識別資料,即不能正確的分類,模型泛化能力太差。

解決方法:

1)重新清洗資料,導致過擬合的乙個原因也有可能是資料不純導致的,如果出現了過擬合就需要我們重新清洗資料。

2)增大資料的訓練量,還有乙個原因就是我們用於訓練的資料量太小導致的,訓練資料佔總資料的比例過小。

3)採用正則化方法。正則化方法包括l0正則、l1正則和l2正則,而正則一般是在目標函式之後加上對於的範數。但是在機器學習中一般使用l2正則,下面看具體的原因。

l0範數是指向量中非0的元素的個數。l1範數是指向量中各個元素絕對值之和,也叫「稀疏規則運算元」(lasso regularization)。兩者都可以實現稀疏性,既然l0可以實現稀疏,為什麼不用l0,而要用l1呢?個人理解一是因為l0範數很難優化求解(np難問題),二是l1範數是l0範數的最優凸近似,而且它比l0範數要容易優化求解。所以大家才把目光和萬千寵愛轉於l1範數。

l2範數是指向量各元素的平方和然後求平方根。可以使得w的每個元素都很小,都接近於0,但與l1範數不同,它不會讓它等於0,而是接近於0。l2正則項起到使得引數w變小加劇的效果,但是為什麼可以防止過擬合呢?乙個通俗的理解便是:更小的引數值w意味著模型的複雜度更低,對訓練資料的擬合剛剛好(奧卡姆剃刀),不會過分擬合訓練資料,從而使得不會過擬合,以提高模型的泛化能力。還有就是看到有人說l2範數有助於處理 condition number不好的情況下矩陣求逆很困難的問題(具體這兒我也不是太理解)。

4)採用dropout方法。這個方法在神經網路裡面很常用。dropout方法是imagenet中提出的一種方法,通俗一點講就是dropout方法在訓練的時候讓神經元以一定的概率不工作。

6、交叉驗證(cross-validation)尋找模型超引數的方法

7、bias和variance的概念。模型的error = bias + variance,error反映的是整個模型的準確度,bias反映的是模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度,variance反映的是模型每一次輸出結果與模型輸出期望之間的誤差,即模型的穩定性。

8、 線性回歸假設特徵和結果滿足線性關係。其實線性關係的表達能力非常強大,每個特徵對結果的影響強弱可以由前面的引數體現,而且每個特徵變數可以首先對映到乙個函式,然後再參與線性計算。這樣就可以表達特徵與結果之間的非線性關係。

9、損失函式(cost)最小二乘法。

10、 牛頓法是一種在實數域和複數域上近似求解方程的方法。方法使用函式f (x)的泰勒級數的前面幾項來尋找方程f (x) = 0的根。牛頓法最大的特點就在於它的收斂速度很快。擬牛頓法的本質思想是改善牛頓法每次需要求解複雜的hessian矩陣的逆矩陣的缺陷,它使用正定矩陣來近似hessian矩陣的逆,從而簡化了運算的複雜度。擬牛頓法和最速下降法一樣只要求每一步迭代時知道目標函式的梯度。通過測量梯度的變化,構造乙個目標函式的模型使之足以產生超線性收斂性。這類方法大大優於最速下降法,尤其對於困難的問題。另外,因為擬牛頓法不需要二階導數的資訊,所以有時比牛頓法更為有效。如今,優化軟體中包含了大量的擬牛頓演算法用來解決無約束,約束,和大規模的優化問題。梯度下降法是最早最簡單,也是最為常用的最優化方法。梯度下降法實現簡單,當目標函式是凸函式時,梯度下降法的解是全域性解。一般情況下,其解不保證是全域性最優解,梯度下降法的速度也未必是最快的。梯度下降法的優化思想是用當前位置負梯度方向作為搜尋方向,因為該方向為當前位置的最快下降方向,所以也被稱為是」最速下降法「。最速下降法越接近目標值,步長越小,前進越慢。

11、線性回歸的評估指標

總體思想是計算實際值與**值間的差值簡稱殘差。從而實現對回歸模型的評估,一般可以畫出殘差圖,進行分析評估、估計模型的異常值、同時還可以檢查模型是否是線性的、以及誤差是否隨機分布。

均方誤差是線性模型擬合過程中,最小化誤差平方和(sse)代價函式的平均值。mse可以用於不同模型的比較,或是通過網格搜尋進行引數調優,以及交叉驗證等。

可以看做是mse的標準化版本,用於更好地解釋模型的效能。換句話說,決定係數是模型捕獲相應反差的分數。

12、sklearn線性回歸的引數詳解

linearregression(fit_intercept=true,normalize=false,copy_x=true,n_jobs=1)

fit_intercept:是否有截據,如果沒有則直線過原點。

normalize:是否將資料歸一化。

copy_x:預設為true,當為true時,x會被copied,否則x將會被覆寫。(這一引數的具體作用沒明白,求大神指教了)

n_jobs:預設值為1。計算時使用的核數。

線性回歸演算法

什麼是線性回歸?統計學中,線性回歸 linear regression 是利用稱為線性回歸方程的最小平方函式對乙個或多個自變數和因變數之間關係進行建模的一種回歸分析。原理與推導 損失函式 loss function 是定義在單個樣本上的,算的是乙個樣本的誤差。代價函式 cost function 是...

線性回歸演算法

size in feet x price in 1000 s y 2104 4601416 2321534 315852 178m 訓練樣本的數目 例如上述 有四行就有4個樣本數目,有多少行就有多少樣本數目 x s 輸入變數或者目標變數 y s 輸出變數或者目標變數 x,y 則表示乙個訓練樣本 線性...

線性回歸演算法

1.本節重點知識點用自己的話總結出來,可以配上,以及說明該知識點的重要性 機器學習裡的監督學習分為回歸和分類。回歸是連續型的,分類是離散型的。回歸又分為線性回歸,logistic回歸和回歸評估。一元線性回歸 公式 y ax b 一般來說,線性回歸都可以通過最小二乘法求出其方程,可以計算出對於y bx...