機器學習02線性回歸、多項式回歸、正規方程

單變量線性回歸(Linear Regression with One Variable)




預測器表達式:




選擇合適的參數(parameters)θ0 和 θ1,其決定了直線相對于訓練集的準確程度。

建模誤差(modeling error):訓練集中,模型預測值與實際值之間的差距。

目標:選出使建模誤差平方和最小的模型參數,即損失函數最小。

損失函數(Cost Function):



可以看出在三維空間中存在一個使得 J(θ0,θ1)最小的點。



梯度下降算法(Gradient Descent):

批量梯度下降(batch gradient descent)算法的公式為:



總結:

1、先確定預測模型,然后確定損失函數;


2、使用梯度下降算法,讓損失函數最小化,此時的參數可使預測模型的經驗誤差達到最優。



————————————————————————————————————————————————


多變量線性回歸(Linear Regression with Multiple Variables)





為了簡化公式,引入 x0=1。

此時模型中的參數是一個 n+1 維的向量,任何一個訓練實例也都是 n+1 維的向量,特征矩陣 X 的維度是 m*(n+1)。

公式可以簡化為:



多變量線性回歸代價函數,這個代價函數是所有建模誤差的平方和:



多變量線性回歸的批量梯度下降算法為:


即:



開始隨機選擇一系列的參數值, 計算所有的預測結果后, 再給所有的參數一個新的值,如此循環直到收斂。


————————————————————————————————————————————————————————


梯度下降算法實踐1——特征縮放

Feature Scaling



將所有特征的尺度都盡量縮放到-1 到 1 之間。



梯度下降算法實踐 2——學習率

梯度下降算法的每次迭代受到學習率的影響:

如果學習率 α 過小, 則達到收斂所需的迭代次數會非常高;

如果學習率 α 過大,每次迭代可能不會減小代價函數,可能會越過局部最小值導致無法收斂。?

通常可以考慮嘗試些學習率:?α=0.01,0.03,0.1,0.3,1,3,10?

————————————————————————————————————————————————————————


多項式回歸(?Polynomial Regression)

線性回歸并不適用于所有數據, 有時需要曲線來適應數據。

比如一個二次方模型:


或者三次方模型:



通常需要先觀察數據然后再決定準備嘗試怎樣的模型。

根據函數圖形特性,還可以使用:



注:如果采用多項式回歸模型,在運行梯度下降算法前,特征縮放非常有必要。


————————————————————————————————————————————————————————


正規方程(Normal Equation)

正規方程通過求解下面的方程來找出使得代價函數最小的參數:


假設訓練集特征矩陣為 X(包含了 x0=1),訓練集結果為向量 y

則利用正規方程解出向量:





總結:

只要特征變量的數目并不大,標準方程是一個很好的計算參數 θ 的替代方法。?

具體地說, 只要特征變量數量小于一萬, 通常使用標準方程法, 而不使用梯度下降法。

?

隨著學習算法越來越復雜,例如,分類算法,邏輯回歸算法,?并不能使用標準方程法。?

對于那些更復雜的學習算法,將仍然使用梯度下降法。

因此,梯度下降法是一個非常有用的算法,可以用在有大量特征變量的線性回歸問題。


或者在以后課程中,會講到的一些其他的算法,因為標準方程法不適合或者不能用在它們上。?

但對于這個特定的線性回歸模型, 標準方程法是一個比梯度下降法更快的替代算法。

所以,根據具體的問題,以及你的特征變量的數量,這兩種算法都是值得學習的。


不可逆性:

?X'X 的不可逆的問題很少發生

第一個原因:一個線性方程的兩個特征值是線性相關的,矩陣 X'X 不可逆;

第二個原因:用大量的特征值,嘗試實踐學習算法的時候,可能會導致矩陣 X'X 不可逆。


通常,使用一種叫做正則化的線性代數方法,通過刪除某些特征或者是使用某些技術,來解決當 m 比
n 小的時候的問題。即使你有一個相對較小的訓練集,也可使用很多的特征來找到很多合適的參數。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387273.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387273.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387273.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

最大乘積

給定一個無序數組,包含正數、負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間復雜度:O(n),空間復雜度:O(1) def solve():n input()a input().split()for i in range(len(a)):a[i] in…

機器學習03Logistic回歸

邏輯回歸 (Logistic Regression) 目前最流行,使用最廣泛的一種學習算法。 分類問題,要預測的變量 y 是離散的值。 邏輯回歸算法的性質是:它的輸出值永遠在 0 到 1 之間。 邏輯回歸模型的假設是: 其中&a…

基礎架構系列匯總

為了方便查找,把基礎架構系統文章按時間正序整理了一下,記錄如下: 1. 基礎架構之日志管理平臺搭建及java&net使用 2. 基礎架構之日志管理平臺及釘釘&郵件告警通知 3. 基礎架構之分布式配置中心 4. 基礎架構之分布式任務平臺 5. 基礎架…

CNN理解比較好的文章

什么是卷積神經網絡?為什么它們很重要? 卷積神經網絡(ConvNets 或者 CNNs)屬于神經網絡的范疇,已經在諸如圖像識別和分類的領域證明了其高效的能力。卷積神經網絡可以成功識別人臉、物體和交通信號,從而為機…

Windows 安裝Angular CLI

1、安裝nvm npm cnpm nrm(onenote筆記上有記錄) 參考:https://blog.csdn.net/tyro_java/article/details/51232458 提示:如果發現配置完后,出現類似“npm不是內部命令……”等信息。 可采取如下措施進行解決—— 檢查環…

機器學習04正則化

正則化(Regularization) 過擬合問題(Overfitting): 如果有非常多的特征,通過學習得到的假設可能能夠非常好地適應訓練集 :代價函數可能幾乎為 0), 但是可能會不能推廣到…

Adaboost算法

概述 一句話概述Adaboost算法的話就是:把多個簡單的分類器結合起來形成個復雜的分類器。也就是“三個臭皮匠頂一個諸葛亮”的道理。 可能僅看上面這句話還沒什么概念,那下面我引用個例子。 如下圖所示: 在D1這個數據集中有兩類數據“”和“-”…

Codeforces 408D Long Path (DP)

題目: One day, little Vasya found himself in a maze consisting of (n??1) rooms, numbered from 1 to (n??1). Initially, Vasya is at the first room and to get out of the maze, he needs to get to the (n??1)-th one. The maze is organized as fol…

機器學習05神經網絡--表示

神經網絡:表示(Neural Networks: Representation) 如今的神經網絡對于許多應用來說是最先進的技術。 對于現代機器學習應用,它是最有效的技術方法。 神經網絡模型是許多邏輯單元按照不同層級組織起來的網絡, 每一層…

邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是分類和預測算法中的一種。通過歷史數據的表現對未來結果發生的概率進行預測。例如,我們可以將購買的概率設置為因變量,將用戶的

邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是分類和預測算法中的一種。通過歷史數據的表現對未來結果發生的概率進行預測。例如,我們可以將購買的概率設置為因變量,將用戶的特征屬性,例如性別,年齡&#x…

解決SecureCRT無法用非root賬號登錄ssh

鏈接失敗,提示這個: --------------------------- SecureCRT --------------------------- 連接到會話 192.168.1.100 失敗 : The server has disconnected with an error. Server message reads: A protocol error occurred. Change of username or se…

機器學習06神經網絡--學習

代價函數 標記方法: 神經網絡的訓練樣本有 m 個 每個包含一組輸入 x 和一組輸出信號 y L 表示神經網絡層數 Sl表示每層的 neuron 個數(SL 表示輸出層神經元個數) 將神經網絡的分類定義為兩種情況: 二類分類:SL1, y0 or 1 表示哪一類&…

Logistic Regression Classifier邏輯回歸

Logistic Regression Classifier邏輯回歸主要思想就是用最大似然概率方法構建出方程,為最大化方程,利用牛頓梯度上升求解方程參數。 優點:計算代價不高,易于理解和實現。缺點:容易欠擬合,分類精度可能不高…

機器學習07應用機器學習的建議

決定下一步做什么(Deciding What to Try Next) 確保在設計機器學習系統時,能夠選擇一條最合適、最正確的道路。 具體來講,將重點關注的問題是:假如你在開發一個機器學習系統,或者想試著改進一個機器學習…

CSS3--5.顏色屬性

HTML5中添加了一些新的顏色的表示方式 1.RGBA:說得簡單一點就是在RGB的基礎上加進了一個通道Alpha。RGBA在RGB的基礎上多了控制alpha透明度的參數。以上R、G、B三個參數,正整數值的取值范圍為:0 - 255。百分數值的取值范圍為:0.0%…

邏輯回歸的通俗解釋 邏輯回歸的定位

1 邏輯回歸的定位 首先,邏輯回歸是一種分類(Classification)算法。比如說: 給定一封郵件,判斷是不是垃圾郵件給出一個交易明細數據,判斷這個交易是否是欺詐交易給出一個腫瘤檢查的結果數據,判斷…

機器學習08機器學習系統設計

首先要做什么 一個垃圾郵件分類器算法為例: 為了解決這樣一個問題,首先要做的決定是如何選擇并表達特征向量 x。 可以選擇一個由 100 個最常出現在垃圾郵件中的詞所構成的列表,根據這些詞是否有在郵件中 出現,來獲得我們的特…

數學筆記1——導數1(導數的基本概念)

什么是導數導數是高數中的重要概念,被應用于多種學科。從物理意義上講,導數就是求解變化率的問題;從幾何意義上講,導數就是求函數在某一點上的切線的斜率。我們熟知的速度公式:v s/t,這求解的是平均速度&a…

python接口自動化(四)--接口測試工具介紹(詳解)

簡介 “工欲善其事必先利其器”,通過前邊幾篇文章的介紹,大家大致對接口有了進一步的認識。那么接下來讓我們看看接口測試的工具有哪些。 目前,市場上有很多支持接口測試的工具。利用工具進行接口測試,能夠提供測試效率。例如&…

機器學習09支持向量機

支持向量機(Support Vector Machines) 在監督學習中,許多學習算法的性能都非常類似,因此,重要的不是你該選擇使用學習算法 A 還是學習算法 B,而更重要的是, 應用這些算法時,所創建的大量數據在應用這些算…