1. 程式人生 > >機器學習筆記(1)---監督學習之梯度下降

機器學習筆記(1)---監督學習之梯度下降

前言

本機器學習筆記是跟著原斯坦福大學吳恩達老師cs229課程學習後做的課後筆記。每次課程都會涉及到很多數學知識,我在記錄課程核心內容的同時,會把數學基礎知識在其它博文中單獨記下,並在《機器學習筆記》系列博文中用到時給出連結。
筆記都是按照本人的理解去寫的,給出的數學基礎知識也只是本人薄弱的地方,並不適合所有人。如有問題歡迎給我留言。
數學公式使用Letex編輯,原文部落格http://blog.csdn.net/rosetta

筆記主要內容

本課程主要涉及四方面內容:監督學習、學習理論、無監督學習和強化學習,所以筆記主要也是記錄這四塊內容,當然還有相關的數學知識。

  • 監督學習(supervised learning)
    迴歸問題 (regression problem)連續的
    分類問題(classification problem) 離散的
    無限維空間的問題,使用支援向量機(support vector)演算法,可以把資料對映到無限維空間中。
  • 學習理論
    如何保證學習演算法是有效的?訓練資料集要達到多少才可以?
  • 無監督學習(unsupervised learning)
    給定一組資料,能發現這些資料的特點,能把相同特點的歸類。也就是聚類(clustering)問題。
    聚類可以做影象識別,可以使用一張照片建議3D場景,可以從雜吵聲中提取出感興趣的人的聲音。
  • 強化學習(Reinforcemnet Learning)
    回報函式,
    視訊中舉了個使用強化學習演算法控制小型直升機的例子。做的好就獎勵它,做的不好就懲罰它,但是如何去定義一個好的形為和壞的形為?
    還可以用在網頁爬取方面。

最後再提出一個關鍵問題,如何使用機器學習一個工具就解決實際問題?我想這也是我為什麼選擇去學機器學習的原因之一。

基本概念

一個關於房價的例子,目前是使用現有的資料來預測房子的價格,首先約定一些數學符號及其表示的含義。
如下是房子面積和房價的關係。
房子面積和房價的關係
在座標平面畫出相應的點的:
在座標平面畫出相應的點
使用x(i)表示輸入,其中i表示第幾個樣本,使用y

(i)表示輸出。{(x(i),y(i)),i=1,2,,m}表示訓練集。或者使用X表示輸入資料空間,Y表示輸出資料空間,本次例子中X=Y=R
給定訓練集,學習函式h:XYh(x)y的預測函式,其處理過程如下圖顯示:
處理過程

線性迴歸

在本次課程中線性迴歸主要講兩種方法:梯度下降和正規方程。本篇筆記主要寫梯度下降法正規方程見下次筆記。

梯度下降法

在剛才房子的例子上增加一個屋子數量的特徵。
增加屋子數量的特徵
此時x變成了二維的向量,x1(i)表示面積,x2(i)表示屋子數量,i表示第i條房子的資料.
為了完成監督學習(supervised learning),需要決定預測函式h,可以給定一個關於x的線性函式:

(1)hθ(x)=θ0+θ1x1+θ2x2
其中θi稱為引數,或者權重,它用於確認從X對映到Y的引數,得到合適的引數θ是學習演算法的任務。當不會發生混淆的時候可以把hθ(x)中的θ去掉,簡寫成h(x)。為了簡化符號,可令x0=1,這樣公式就變成:(2)h(x)=i=0mθixi=θTx

那麼θ如何確定呢?一種可行的方法是選擇一組θ和訓練資料X一起算出hθ(x)(此時由於x是已知的,所以可以把h