Linear Regression with multiple variable 本欄目(Machine learning)包括單參數的線性回歸、多參數的線性回歸、Octave Tutorial、Logistic Regression、Regularization、神經網絡、機器學習系統設計、SVM(Support Vector Machines 支援向量機)、聚類、降維、異常檢測、大規模機器學習等章節。所有内容均來自Standford公開課machine learning中Andrew老師的講解。(https://class.coursera.org/ml/class/index)
本章知識點: 一. 多變量線性回歸的假設函數
二. 損失函數及梯度下降多元表達
三. 歸一化的講解
四. 學習速率alpha或者learning rate
五. python代碼的示範(尚未編寫,以後補上)
重點知識回顧: 機器學習很重要的步驟和思想就是三步走:
1.Hypothesis--假設函數 尋找假設函數,如果一開始假設函數就找找錯的話,後面的都是錯誤的,problem:假設函數找到了,關鍵是如何求出參數parameters 2.Learning-- 學習(最重要的是:求 parameters參數的方法 還有 損失函數或者價值函數:cost function的計算) 學習的過程就是根據樣本值找出最合适的參數,當然有時候隻是局部最優解,監督學習:訓練的時候是有樣本的輸出期望值得,而非監督學習則沒有 problem:把樣本的值(均是已知)全部帶入後,cost function的表達是就是parameters 的函數了,用什麼方法求出參數呢,已知的有:梯度下降,随機梯度下降,矩陣等等 3.Prediction--預測 利用梯度下降求出來parameters之後,我們就要用來預測可能值,也會把預測值再次用來調整 theta
簡單介紹: 多變量假設:輸出由多元輸入決定,即輸入為多元特征,簡單的說就是有多個參數 theta。多變量線性回歸仍是監督學習方法(因為訓練樣本中有期望輸出值,作為訓練), 如下圖所示:Price為輸出,前面四維為輸入:
很顯然這個時候,變量有x1,x2,x3,x4,還有y,而theta值要有5個,即thetas =[theta0,theta1,theta2,theta3,theta4],(theta0作為偏置項) 不能再用以前單變量線性回歸的假設函數了:
(一).這時候的假設函數應該變為如下形式:
ps:在多元的情況下,我們通常把X0設為1,是為了以後用矩陣或者向量的時候通用性強設定
(二).損失函數及梯度下降多元表達
ps:寫成 J(thetas)的形式沒錯,J(theta_0.....theta _n)這種形式直覺點,上面被藍線劃掉的事課件,沒有錯誤的(說明一下) 梯度下降的形式變為如下形式:
編寫程式的時候,最終的判斷條件仍是 cost function的前後兩次內插補點 小于我們設定的門閥值即可
三.歸一化的講解
歸一化的目的是:使資料小一點,要不程式設計的時候,數值會過大報錯,nan!
四.學習速率alpha或者learning rate
五.python代碼的示範(尚未編寫,以後補上)