機器學習筆記(一)


 

一、監督學習(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.正規方程推導

      
      

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM