7 資料分析 線性回歸演算法(一)

2021-10-20 22:59:44 字數 3073 閱讀 2186

機器學習的入門演算法:線性回歸

​ 人通過問題或者經驗得到規律,利用的是學習方法,然後就能**未來的可能發展。

​ 人工智慧通過資料得到資料模型,利用的是演算法,然後也可以**未來的發展,其實和人的學習是類似的。

​ 人工智慧的資料模型是一種函式的表示式,機器學習通過訓練不斷的調整,最後得到最好的表達來呈現出最理想的資料模型

基礎概念:

​ 我們可以通過樣本中的特徵去**樣本的結果,多個特徵形成的乙個資料可以用向量來表示,多個資料可以用矩陣來表示,人工智慧要通過資料得到模型,主要的載體就是向量或者矩陣。

機器學習:

​ 有監督學習(包括分類和回歸):又叫有標籤學習,利用已知類別的樣本,訓練學習得到乙個最優模型,使其達到所要求效能,再利用這個訓練所得模型,將所有的輸入對映為相應的輸出,對輸出進行簡單的判斷,從而實現分類的目的,即可以對未知資料進行分類。比如x1和x2通過某些方式得到y,那麼y就是可以進行標記的結果。

​ 無監督學習(包括聚類):又叫沒有標籤的學習,對於沒有標記的樣本,學習演算法直接對輸入資料集進行建模,例如聚類,即「物以類聚,人以群分」 。我們只需要把相似度高的東西放在一起,對於新來的樣本,計算相似度後,按照相似程度進行歸類就好。

無監督和有監督的區別就在於是否有外標籤設定,無監督學習也是一種比較靠後的學習。

有監督中的分類和回歸的區別:分類得到的標籤是呈離散型的,回歸得到的標籤是呈連續型的。

離散和連續的區別:是否能把所有結果都列出

資料集分割:訓練集、驗證集、測試集

用同乙個驗證集做評估,有可能出現模型對驗證集上表現的比較好的情況,要想真正評估

這個最佳模型在將來的樣本上的表現,這也就是需要把第三個子集即測試集保留在一邊的

原因(小風險)

企業中往往去掉了驗證集:因為測試集就是沒有被「汙染」的資料,綜合考慮訓練

誤差和測試誤差,同樣能起到模型評估的作用;這樣劃分資料集的優點是降低工程

實施的時間成本。

用線性回歸把資料集表達出來,回歸是一種演算法,得到的模型是呈連續型的

​ 回歸演算法是一種有監督演算法

​ 回歸演算法是一種比較常用的機器學習演算法,用於構建乙個模型來做特徵向量到標籤的對映。在演算法

的學習過程中,試圖尋找乙個模型,最大程度擬合訓練資料。

​ 回歸演算法在使用時,接收乙個n維度特徵向量,輸出乙個連續的資料值

演算法流程:

​ 資料通過演算法,然後經過調整才得到資料模型,這個調整的過程就是重新進行資料通過演算法得到新模型的過程。其中要經過一次次的嘗試,一次次的擬合。

​ 經過以上的流程,確定資料模型完善合格之後,就拿來使用,使用的過程也會不斷的學習更新資料模型。

函式呈線性:對x求導得到的是乙個常數,那麼就是乙個線性問題,一維特徵當中影象為一條直線,多維特徵當中影象為乙個平面。

迭代優化過程:通過演算法的流程,不斷學習訓練得到最優的資料模型時,函式的影象是最理想的,以後學習還可以繼續提高。

回歸演算法得到的影象一條直線的影象,表示這類資料的一種合理的表示式(資料模型),不一定真實,但很接近,所以能拿來進行**。

單變數線性回歸模型:

​ 對於函式的影象的改變得到最優資料模型,肯定是要換成最好的函式來解才行的,y=kx+b這裡通過換k和b就相當於換函式了。

回歸是統計學的乙個重要概念,其本意是根據之前的資料**乙個準確的輸出值。

最小二乘法:目的是讓直線到每個樣本點的距離都最近,是一種數學優化技術。

​ 一、計算所有樣本誤差的平均(代價函式)

​ 二、使用最優化方法尋找資料的最佳函式匹配(抽象的)

​ 最小二乘法是抽象的,具體的最優化方法有很多,比如正規方程法、梯度下降法、牛頓法、擬牛頓法等等

代價函式定義: 估計誤差的平方和再去求均值,越大,越不合理。越小,越合理。

作用:用於資料模型和資料的效能比較

​ 估計誤差:樣本點到直線的距離

代價函式的理解:j(θ)中θ為權重值,所有樣本點都在影象上的時候代價值為0,這裡的θ權重和資料模型的函式要一樣。無論原函式怎麼變化,都對應著代價函式的乙個點,所有原函式湊成代價函式的影象就是乙個拋物線影象。所以要找到代價函式最小值那個對應點就能得到最優的原函式,最小值求導為0。

梯度下降定義(屬於演算法的一種):

​ 梯度下降是乙個用來求代價函式最小值的演算法,我們將使用梯度下降演算法來求出代價函式j(θ0,θ1) 的最小值。

梯度下降原理:

​ θj := θj - aδθj(這裡的 := 是賦值的意思)

​ α是學習率(learning rate),大於0的乙個很小經驗值,它決定沿著能讓代價函式下降的程度有多大。

​ 每一次都同時讓所有的引數減去學習速率乘以代價函式的導數,每次調整的跨度取決於a學習率,當某次調整剛好使得a學習率乘以到了最小值,然後得到0,那麼θj的賦值就是他本身,此時就得到最優解。

學習率調參:

​ 如果學習率比較大,就容易在某次調整的時候和最優解擦肩而過,甚至一直都無法收斂產生偏差,所以小。

​ 如果學習率太小,梯度下降就會變慢

​ 學習率不好調動的時候就可以進行學習率調參了

​ 引數調整模型的精度就越高,調整不好甚至會出現模型沒有精度

引數更新方程(調整完之後就要進行的操作):

​ 當引數不止乙個的時候,可以用來當作多維度代入向量,此時多個引數求導數就要用到偏導(保持其中乙個引數改變,其他引數不變)。計算偏導就要用到

代價函式python語言實現**:

j=(1.0/(2*m))*np.sum(np.square(x.dot(theta)-y))

j = (1.0/(2*m))*(x.dot(theta)-y).t.dot(x.dot(theta)-y)

底層演算法:

​ 線性回歸的真實運算過程(像執行for迴圈一樣直到出現最合理的模型):

​ 1、隨機取權重來設定乙個資料模型

​ 2、計算代價函式cost mse 均方差

​ 3、計算梯度下降過程(在代價函式執行後,發現有損失值)

​ (1)計算θ的導數

​ (2)更新θ的值

以上涉及的最優化方法的各種調節,都是線性回歸模型中演算法的特點

資料越多不一定能讓資料模型越好,但是資料越多差異又越大,才能通過調整得到更好的資料模型

Python資料分析 線性回歸

python資料分析學習筆記,今天分享下利用python對業務進行資料預處理,並利用線性回歸進行資料 壹 資料匯入 多人學習python,不知道從何學起。很多人學習python,掌握了基本語法過後,不知道在 尋找案例上手。很多已經做案例的人,卻不知道如何去學習更加高深的知識。qq群 10570343...

Python 深入淺出資料分析 線性回歸

目錄在閱讀前,讀一下python 深入淺出資料分析 總結會更好點,以後遇到問題比如 執行不了,再讀讀也行,書中例子很有意思,如果真的可以做乙個薪水 器,那麼你就可以自己發自己薪水了,分析以前要求加薪的人最後得到的薪水提高幅度,看看有什麼規律。要求加薪的幅度 mapsto 得到加薪的幅度,這兩者有什麼...

線性回歸資料分析

首先,什麼是回歸,回歸分析研究的是多個變數之間的關係。它是一種 性的建模技術,它研究的是因變數 目標 和自變數 器 之間的關係。這種技術通常用於 分析,時間序列模型以及發現變數之間的因果關係。其次,回歸分析的好處比較多,主要有以下幾點 1 它表明自變數和因變數之間的顯著關係 2 它表明多個自變數對乙...