通俗易懂 線性回歸演算法講解 演算法 案例

2021-09-02 22:46:29 字數 2683 閱讀 8456

1.7python實現**

github位址(**加資料)

我們首先用弄清楚什麼是線性,什麼是非線性。

相信通過以上兩個概念大家已經很清楚了,其次我們經常說的回歸回歸到底是什麼意思呢。

對大量的觀測資料進行處理,從而得到比較符合事物內部規律的數學表示式。也就是說尋找到資料與資料之間的規律所在,從而就可以模擬出結果,也就是對結果進行**。解決的就是通過已知的資料得到未知的結果。例如:對房價的**、判斷信用評價、電影票房預估等。

大家看上面,上有很多個小點點,通過這些小點點我們很難**當x值=某個值時,y的值是多少,我們無法得知,所以,數學家是很聰明的,是否能夠找到一條直線來描述這些點的趨勢或者分布呢?答案是肯定的。相信大家在學校的時候都學過這樣的直線,只是當時不知道這個方程在現實中是可以用來**很多事物的。

那麼問題來了,什麼是模型呢?先來看看下面這幅圖。

假設資料就是x,結果是y,那中間的模型其實就是乙個方程,這是一種片面的解釋,但有助於我們去理解模型到底是個什麼東西。以前在學校的時候總是不理解數學建模比賽到底在做些什麼,現在理解了,是從題目給的資料中找到資料與資料之間的關係,建立數學方程模型,得到結果解決現實問題。其實是和機器學習中的模型是一樣的意思。那麼線性回歸的一般模型是什麼呢?

模型神秘的面紗已經被我們揭開了,就是以上這個公式,不要被公式嚇到,只要知道模型長什麼樣就行了。假設i=0,表示的是一元一次方程,是穿過座標系中原點的一條直線,以此類推。

我們知道x是已知條件,通過公式求出y。已知條件其實就是我們的資料,以**房價的案例來說明:

上圖給出的是某個地區房價的一些相關資訊,有日期、房間數、建築面積、房屋評分等特徵,表裡頭的資料就是我們要的x1、x2、x3……… 自然的表中的price列就是房屋的**,也就是y。現在需要求的就是theta的值了,後續步驟都需要依賴計算機來訓練求解。

當然,這些計算雖然複雜,但python庫中有現成的函式直接呼叫就可以求解。我們為了理解內部的計算原理,就需要一步一步的來剖析計算過程。

為了容易理解模型,假設該模型是一元一次函式,我們把一組資料x和y帶入模型中,會得到如下圖所示線段。

是不是覺得這條直線擬合得不夠好?顯然最好的效果應該是這條直線穿過所有的點才是,需要對模型進行優化,這裡我們要引入乙個概念。

不要看公式很複雜,其實就是一句話,(**值-真實值)的平法和的平均值,換句話說就是點到直線距離和最小。用一幅圖來表示:

解釋:一開始損失函式是比較大的,但隨著直線的不斷變化(模型不斷訓練),損失函式會越來越小,從而達到極小值點,也就是我們要得到的最終模型。

這種方法我們統稱為梯度下降法。隨著模型的不斷訓練,損失函式的梯度越來越平,直至極小值點,點到直線的距離和最小,所以這條直線就會經過所有的點,這就是我們要求的模型(函式)。

以此類推,高維的線性回歸模型也是一樣的,利用梯度下降法優化模型,尋找極值點,這就是模型訓練的過程。

在機器學習模型訓練當中,模型的泛化能力越強,就越能說明這個模型表現很好。什麼是模型的泛化能力?

模型的泛化能力直接導致了模型會過擬合與欠擬合的情況。讓我們來看看一下情況:

我們的目標是要實現點到直線的平方和最小,那通過以上圖示顯然可以看出中間那幅圖的擬合程度很好,最左邊的情況屬於欠擬合,最右邊的情況屬於過擬合。

欠擬合已經很明白了,就是誤差比較大,而過擬合呢是訓練集上表現得很好,換一批資料進行**結果就很不理想了,泛化泛化說的就是乙個通用性。

解決方法

加入這個正則化項好處:

看到這裡是不是覺得很麻煩,我之前說過現在是解釋線性回歸模型的原理與優化,但是到了真正使用上這些方法是一句話的事,因為這些計算庫別人已經準備好了,感謝開源吧!

github位址(**加資料)

尋覓網際網路,少有機器學習通俗易懂之演算法講解、案例等,專案立於這一問題之上,整理乙份基本演算法講解+案例於文件,供大家學習之。通俗易懂之文章亦不可以面概全,但凡有不正確或爭議之處,望告知,自當不吝賜教!

通俗易懂 線性回歸演算法講解 演算法 案例

github位址 加資料 我們首先用弄清楚什麼是線性,什麼是非線性。相信通過以上兩個概念大家已經很清楚了,其次我們經常說的回歸回歸到底是什麼意思呢。對大量的觀測資料進行處理,從而得到比較符合事物內部規律的數學表示式。也就是說尋找到資料與資料之間的規律所在,從而就可以模擬出結果,也就是對結果進行 解決...

通俗易懂 邏輯回歸演算法講解 演算法 案例

尋覓網際網路,少有機器學習通俗易懂之演算法講解 案例等,專案立於這一問題之上,整理乙份基本演算法講解 案例於文件,供大家學習之。通俗易懂之文章亦不可以面概全,但凡有不正確或爭議之處,望告知,自當不吝賜教!github位址 加資料 邏輯回歸是用來做分類演算法的,大家都熟悉線性回歸,一般形式是y ax ...

通俗易懂 邏輯回歸演算法講解 演算法 案例

github位址 加資料 邏輯回歸是用來做分類演算法的,大家都熟悉線性回歸,一般形式是y ax b,y的取值範圍是 有這麼多取值,怎麼進行分類呢?不用擔心,偉大的數學家已經為我們找到了乙個方法。首先我們先來看乙個函式,這個函式叫做sigmoid函式 函式中t無論取什麼值,其結果都在 0,1 的區間內...