機器學習算法(二)——LR算法

1、算法簡介

線性迴歸算法(Linear Regression),即LR算法。算法

再講解LR算法以前,咱們先學習一下什麼是線性?什麼是非線性?機器學習

咱們首先用弄清楚什麼是線性,什麼是非線性。函數

- 線性函數的定義是:一階或零階多項式。
- 特徵是一維時,線性模型在二維空間構成一條直線;
- 特徵是二維時,線性模型在三維空間中構成一個平面;
- 特徵是三維時,則最終模型在四維空間中構成一個體;以此類推…

那麼迴歸又是什麼意思呢?學習

- 迴歸:人們在測量事物的時候由於客觀條件所限,求得的都是測量值,而不是事物真實的值。

- 爲了可以獲得真實值,無限次的進行測量,最後經過這些測量數據計算迴歸到真實值,這就是迴歸的由來。

通俗的說就是用一個函數去逼近這個真實值,那又有人問了,線性迴歸不是用來作預測嗎?是的,經過大量的數據咱們是能夠預測到真實值的。優化

2、算法原理

線性迴歸:就是可以用一個直線較爲精確地描述數據之間的關係,這樣當出現新的數據的時候,就可以預測出一個簡單的值。3d

線性迴歸纔是真正用於迴歸的,而不像logistic迴歸是用於分類,基本思想是用梯度降低法對最小二乘法形式的偏差函數進行優化code

線性迴歸通常用於解決什麼問題

尋找到數據與數據之間的規律所在,從而就能夠模擬出結果,也就是對結果進行預測。blog

解決的就是經過已知的數據獲得未知的結果。例如:對房價的預測、判斷信用評價、電影票房預估等。io

3、算法要點

0、一元線性迴歸

在中學的時候,咱們都學過二元一次方程。咱們將y做爲因變量,x做爲自變量,獲得方程:function

y = ax + b

當給定參數 a b的時候,畫在座標圖內是一條直線(這就是「線性」的含義)。

當咱們只用一個x來預測y,就是一元線性迴歸。

線性迴歸就是要找一條直線,而且讓這條直線儘量地擬合圖中的數據點。

一、多元線性迴歸

線性迴歸的模型形如:

線性迴歸得出的模型不必定是一條直線:

    (1)在只有一個變量的時候,模型是平面中的一條直線;

    (2)有兩個變量的時候,模型是空間中的一個平面;

    (3)有更多變量時,模型將是更高維的。

實際上,線性迴歸中一般使用殘差平方和,即點到直線的平行於y軸的距離而不用垂線距離,殘差平方和除以樣本量n就是均方偏差。

均方偏差做爲線性迴歸模型的損失函數(cost function)。使全部點到直線的距離之和最小,就是使均方偏差最小化,這個方法叫作最小二乘法。

二、損失函數

損失函數公式:

由於

最後經過求解,獲得w及b的計算公式分別以下:

三、最小二乘法

在線性迴歸中,最小二乘法就是試圖找到一條直線,使全部樣本到直線的歐式距離最小以後最小。

四、梯度降低法

梯度是一個向量,即有方向有大小,它的方向是最大方向導數的方向,它的值是最大方向導數的值。

從任意點開始,在該點對目標函數求導,沿着導數方向(梯度)「走」(降低)一個給定步長,如此循環迭代,直至「走」到導數爲0的位置,則達到極小值。

4、算法推導

假設咱們找到了最佳擬合的直線方程 :

y = ax+ b

5、優缺點

線性迴歸的幾個特色:

  • 優勢:

    (1)思想簡單,實現容易。建模迅速,對於小數據量、簡單的關係頗有效;

    (2)是許多強大的非線性模型的基礎。

    (3)線性迴歸模型十分容易理解,結果具備很好的可解釋性,有利於決策分析。

    (4)蘊含機器學習中的不少重要思想。

    (5)能解決迴歸問題。

  • 缺點:

    (1)對於非線性數據或者數據特徵間具備相關性多項式迴歸難以建模.

    (2)難以很好地表達高度複雜的數據。

相關文章
相關標籤/搜索