[斯坦福大學2014機器學習教程筆記]第一章-引言(1)

    本篇主要內容爲:機器學習的定義、監督學習算法

  •     什麼是機器學習?

    Arthur Samuel將機器學習定義爲:在沒有明確設置的狀況下,使計算機具備學習能力的研究領域。他編寫了一個西洋棋程序,他雖然不是西洋棋高手,可是程序經過跟本身下上萬盤棋以此來觀察哪一種佈局容易贏,哪一種佈局容易輸,以此來得出哪一種佈局會更好,哪一種佈局更差。最後程序玩得比他本身還要好。機器學習

    這是有點不正式、也是比較陳舊的一個定義。下面是一個更新的定義。佈局

    Tom Mitchell 提出:一個適當的學習問題定義以下:計算機程序從經驗E中學習,解決某一任務T,進行某一性能度量P,有了經驗E後,經過P的測定,程序在T上的表現就會有所提高。性能

    假設你的郵件程序觀察你將哪些郵件標爲垃圾郵件,即在這樣的郵件客戶端,你可能將一些郵件標爲垃圾郵件,而其餘的不作標記。基於你標記的垃圾郵件,你的郵件程序學會了如何更好地過濾垃圾郵件。在這個例子中,E、T、P分別是什麼呢?學習

  • 經驗E是觀察你是否把郵件標記爲垃圾郵件。
  • 任務T是給郵件分類。
  • 性能量度P是正確歸類的郵件的比例。

    所以,咱們的系統在任務T上的性能在獲得經驗E後會提升性能度量P。spa

    目前存在幾種不一樣類型的學習算法,主要的兩種類型被咱們稱爲 監督學習和無監督學習blog

 (1)監督學習開發

    先來看個例子,假如說你想預測房價。
it

    

    假如你繪製了一個數據集,如上圖。橫軸是不一樣房屋的平方英尺數,縱軸是不一樣房子的價格,單位是千美圓。那基於這組數據,假如你有一個朋友,他有一套750平方英尺房子,如今他但願把房子賣掉,他想知道這房子能賣多少錢。那麼關於這個問題,機器學習算法將會怎麼幫助你呢?軟件

    

       咱們應用學習算法,能夠在這組數據中畫一條直線,或者換句話說,擬合一條直線,根據這條線咱們能夠推測出,這套房子可能賣,固然這不是惟一的算法。可能還有更好的,好比咱們不用直線擬合這些數據,用二次方程去擬合可能效果會更好。根據二次方程的曲線,咱們能夠從這個點推測出,這套房子能賣接近。稍後咱們將討論如何選擇學習算法,如何決定用直線仍是二次方程來擬合。兩個方案中有一個能讓你朋友的房子出售得更合理。

  從這個例子咱們能夠看出,監督學習指的就是咱們給學習算法一個數據集。這個數據集由「正確答案」組成。在房價的例子中,咱們給了一系列房子的數據,咱們給定數據集中每一個樣本的正確價格,即它們實際的售價而後運用學習算法,算出更多的正確答案。好比你朋友那個新房子的價格。用術語來說,這叫作迴歸問題。咱們試着推測出一個連續值的結果,即房子的價格。

     通常房子的價格會記到美分,因此房價其實是一系列離散的值,可是咱們一般又把房價當作實數,當作是標量,因此又把它當作一個連續的數值。

     迴歸這個詞的意思是,咱們在試着推測出這一系列連續值屬性。

     再舉另一個例子,假設說你想經過查看病從來推測乳腺癌良性與否,假若有人檢測出乳腺腫瘤,惡性腫瘤有害而且十分危險,而良性的腫瘤危害就沒那麼大,因此人們顯然會很在乎這個問題。

 

    這個數據集中,橫軸表示腫瘤的大小,縱軸上,我標出1和0表示是或者不是惡性腫瘤。有5個良性腫瘤樣本和5個惡性腫瘤樣本。如今咱們有一個朋友很不幸檢查出乳腺腫瘤。假設說她的腫瘤大概這麼大,那麼機器學習的問題就在於,你可否估算出腫瘤是惡性的或是良性的機率。用術語來說,這是一個分類問題。

    分類指的是,咱們試着推測出離散的輸出值:0或1良性或惡性,而事實上在分類問題中,輸出可能不止兩個值。好比說可能有三種乳腺癌,因此你但願預測離散輸出0、一、二、3。0 表明良性,1 表示第1類乳腺癌,2表示第2類癌症,3表示第3類,但這也是分類問題。由於這幾個離散的輸出分別對應良性,第一類第二類或者第三類癌症,在分類問題中咱們能夠用另外一種方式繪製這些數據點。

    如今我用不一樣的符號來表示這些數據。既然咱們把腫瘤的尺寸看作區分惡性或良性的特徵,那麼我能夠這麼畫,我用不一樣的符號來表示良性和惡性腫瘤。或者說是負樣本和正樣本如今咱們不所有畫X,良性的腫瘤改爲用 O 表示,惡性的繼續用 X 表示。來預測腫瘤的惡性與否。

    在機器學習中,咱們一般會遇到不止一種特徵。如今假設,咱們不只知道腫瘤的尺寸,還知道對應患者的年齡。那麼咱們這個時候的數據集就以下圖。假設有一個朋友,很不幸有一個瘤。他的腫瘤大小和年級在圖上爲粉點。所以在給定的數據集上,學習算法能作的就是在數據上畫一條直線,設法將惡性腫瘤和良性腫瘤分開,以下圖。你就能夠經過這個來判斷這個朋友的腫瘤類型。屬於良性區域,即良性的可能性比惡性的大。

 

       

    就能夠得出在其餘機器學習問題中,咱們一般有更多的特徵,一般採用這些特徵,好比腫塊密度,腫瘤細胞尺寸的一致性和形狀的一致性等等,還有一些其餘的特徵。不只能處理2種3種或5種特徵,並且能夠處理無限多種特徵。

    咱們討論的監督學習想法是在監督學習中,對於數據集中的每一個樣本,咱們想要算法預測並得出「正確答案」。就像是上面的例子中,咱們想要預測房子的價格,想要預測這個腫瘤是良性的仍是惡性的。咱們還討論了迴歸問題,迴歸是指咱們的目標,是預測一個連續值輸出。咱們還討論了分類問題,其目的是預測離散值輸出。

    下面有一個問題。假設你經營一家公司,你想開發學習算法來處理兩個問題。

    問題1:你有不少同一件貨物的庫存。假設你有幾千件相同的貨物要賣,你想預測在接下來的三個月內你能賣出多少件。

    問題2:你有不少用戶,你想要寫一個軟件來檢查每個客戶的帳戶。對於每一個客戶的帳戶,判斷這個帳戶是否被入侵或者破壞。

    那麼,這兩個問題應該被歸爲分類問題仍是迴歸問題?

    答案是:問題1會把它歸爲迴歸問題,由於假設我有幾千個貨物,我會將它當作一個實數,即一個連續的值,即把我要賣的貨物數量當作一個連續的值。問題2會將它當作一個分類問題,由於我可能會設置我要預測的值爲0表示帳戶沒有被入侵,設置值爲1表示帳號已經被入侵。而後再用一個算法來預測。

相關文章
相關標籤/搜索