一、監督學習(supervised-learning)與無監督學習(unsupervised-learning)
1.監督學習中數據集是由特征組和標簽組成,目的是訓練機器對標簽取值的准確預測。如:房價預測、腫瘤判定、垃圾郵件判定。
2.無監督學習中人工不對數據集作任何說明,不給答案,不貼標簽,目的是讓機器自動將一堆混亂的數據分成幾個簇(類),而分類的標准沒有事先
· 給出。例如:新聞分類、自動市場分割、前景與背景聲音分割。
二、回歸問題(regression)與分類問題(classification)
1.回歸與分類都屬於監督學習。
2.回歸問題的標簽是在一定區間內的連續量,例如房價預測。
3.分類問題的標簽是有限的離散變量,例如腫瘤鑒定。
3.分類問題與回歸問題可以相互轉化。對於分類問題,可以轉化為對象標簽的概率預測,而概率處於【0,1】之間,可以認為是一個回歸問題。例如Logistic回歸
就是運用回歸方法來解決分類問題的;對於回歸問題,可以通過標簽的區間划分將對象分為不同類別,所以可以用分類問題的算法來近似預測。
三、線性回歸(linear regression)
1.符號定義
M:數據量(圖中一行為一份數據);
X:特征輸入,xj(i)表示第i行數據第j個特征量;
Y:目標輸出,為一個列向量;
θ:模型參數;
hθ (x): 假設函數(Hypothesis),如:
2.代價函數(cost function)
公式表示每一份數據的預測值與實際值之間偏差的平方之和,再取均值。代價越小,擬合越好。
只有一個模型參數時,代價函數是一個一元二次函數,當有兩個模型參數時,代價函數分布如下:
用等高線圖表示,每個等值線表示代價相同,越接近中心,代價越小:
3.梯度下降法(gradient descent)
沿梯度方向更新模型參數,最終達到局部最低點。但當特征較多時,更多時候取得是局部最小值。
更新方程:
α為學習率,他的大小決定了達到最優解的快慢。如果α太小,迭代的次數就會很多,但最終迭代結果越精確;而如果α太大,一開始會很快接近最優解,
但在最優解附近震盪。一般需要對迭代結果進行檢查,以確保算法的正確以及學習率的合理性,可以繪制iteration-J曲線圖進行調試。或者,采用動態學
習率,在接近收斂時學習率可以自動變小。
梯度下降主要有BATCH梯度下降和隨機梯度下降,前者在計算代價函數時采用全部數據,這在數據量十分大時計算量非常大,因此常采用后者,取部分數據
計算代價函數。兩者迭代過程分別如下:
4.特征縮放(feature scaling)
當多個特征的取值相差的數量級較大時,等高線被過分拉長,會導致迭代次數增加,降低算法效率,
因此在處理多元線性回歸時要特征縮放,將特征的值統一到(-1,1)附近。
5.多項式回歸(polynomial scaling)
普通的線性回歸,擬合出來的都是一條直線,有時候並不能很好地貼合數據。例如在房價預測中,假設特征只有size,那么我們自己可以定義
第二特征為(size)^2,甚至定義第三特征(size)^3。那么假設函數仍是各特征的線性函數,但卻原始特征size的三次函數了。
6.方程的矩陣表示
♦數據矩陣
數據矩陣的行表示第i份數據,包含所有特征量;
數據矩陣的列表示某個特征的所有數據,其中x_n^((m))=1。
♦系數矩陣
系數矩陣每行對應一個特征;
♦輸出矩陣
♦方程的矩陣表示
7.正規方程(normal equation)
我們的目標是尋求代價函數的最小值,那么可以求使一階偏導為0的點。即:
最終可以得到正規方程,即θ的最優解:
采用正規方程法,不需要再設定學習率,過程自動化了很多,並且這里是不需要特征縮放的;在特征個數n比較小的時候,效率高於梯度下降法;
但當n比較大(萬級),就不如梯度下降法了。並且正規方程法對后面的許多算法也不適用。在運用正規化方程式,可能會碰到數據舉證不可逆的
情況,原因主要有兩點:有兩個以上的特征線性相關。樣本數少,而特征量過多(如m=10,n=100)。
8.矩陣向量求導
參考博客:https://www.cnblogs.com/pinard/p/10750718.html
關於矩陣向量求導,主要有以下9種情況:
為了清晰區分標量、向量與矩陣,用小寫表示標量。大寫表示向量與矩陣,並且寫出它們的下標。關於求導布局,有分子布局和分母布局兩種,一般
標量對向量矩陣求導采用分母布局,向量矩陣對標量求導采用分子布局,向量對向量求導采用分子布局。總結起來就是分子是向量或矩陣,就采用分子布局。
♦向量或矩陣對標量求導
假設有一系列標量對同一標量求導:
將這一系列標量排列為向量,所以向量矩陣對標量求導就是向量矩陣的每個元素都對標量求導,求完后再按分子布局排列,矩陣對標量求導也類似。
♦標量對向量或矩陣求導
♦向量對向量求導
就是對向量Y中的每個元素,它要對向量X中的每個元素都求遍導,求導結果為一個矩陣,由於采用分子布局,則矩陣的列與Y列數相同,行與X
的列數的相同。
如果是列向量對行向量求導,結果矩陣同上;
如果是行向量Y_(1*m)對列向量X_(n*1)求導,結果維度為n*m。
9.微分法求解矩陣向量的導數
參考博客:https://www.cnblogs.com/pinard/p/10791506.html
♦微分與導數的關系
對於含多變量的函數的微分,有以下結論:
將變量x,y,z整合為向量的形式:
也就是說標量對向量的導數與它的向量微分存在一個轉置關系。這樣我們可以通過間接求微分來求導數。為了統一向量微分和矩陣微分,公式改為:
Tr為跡,等於主對角元素之和,那么標量的跡等於它本身。
♦矩陣微分的性質
♦跡的性質
10.正規方程推導