1. 程式人生 > >機器學習1 從基礎講起

機器學習1 從基礎講起

引言

機器學習已經學了兩三個月了,看了西瓜書,機器學習實戰,也走過不少彎路,現在做做總結,把經驗寫下了。

什麼機器學習

以我們人類做類比,我們看過、吃過很多西瓜後,判斷色澤青綠、根蒂蜷縮、敲聲濁響的這類瓜就是好瓜。我們通過積累經驗,在通過經驗進行運用,就會對新情況做出更有效判斷。

機器學習就是這樣,通過處理“資料”經驗,從中學得一種模型,基於這個模型對新的資料進行判斷。

為什麼使用機器學習

對於複雜問題,如語言識別,手寫體識別,無人駕駛,我們很難想象出某些規則來進行硬編碼,而使用機器學習,只需提供它所需的資料,就能自我學習,這樣就簡化了程式碼,執行效果也更好。

機器學習的分類

機器學習有很多分類方式,這裡只介紹最常見的分類:監督式、半監督式、無監督式。

1)監督式學習

所謂監督就是我們知道資料的“結果”資訊,以西瓜為例,一個西瓜色澤青綠、根蒂蜷縮、敲聲濁響,並且告訴你它是好瓜。這個“結果”資訊好瓜就是標記。所有資料都擁有標記就是監督式學習。當我們對新的資料進行預測是,結果是離散值,例如“好瓜”‘壞瓜’這稱為分類。而預測結果是連續值則為迴歸。監督式學習是我們主要學習的。

2)無監督學習

給我們的資料沒有‘結果’資訊,不告訴我們這些瓜是好瓜還是壞瓜,這類學習任務稱為無監督學習。

3)半監督學習

資料標記通常是很費力的,對於這些資料通常有很大部分沒有標記,只有小部分有,這稱為半監督學習。它通常是監督式演算法和非監督式演算法的結合。

為什麼能進行機器學習?

首先,明確機器學習的目標。我們的目的是通過學得的模型對新的未知的資料進行預測。而我們的模型是在已知的資料集上學得的。我們怎麼保證在已知資料集習得的模型在未知資料上仍然表現好呢?這裡利用的是統計學原理,當我們的已知資料集足夠大時,它的內在規律就很大程度上接近未知資料上的內在規律。當我們在已知資料集中學得的模型儘可能擬合數據集時,那它通常在未知資料集上表現好。想想看,如果一個模型在已知資料集上都有糟糕的表現,怎麼還能期待它在未知資料上的表現。

小結

本節介紹了一些機器學習的概念,之後會進一步補充。剛開始學習時都迫不及待地的想去學習模型,來看看它的表現,下節我們就結束最簡單的模型:線性模型。