機器學習是根據(jù)不同事物的特征來推導它的分類或者預(yù)測它未來的值,
大類有分類和回歸,分類好理解就是把桃花和菊花分開,又分二分類和多分類?;貧w就是預(yù)測房價,股價這種,預(yù)測具體的值。
方法主要分為監(jiān)督學習、無監(jiān)督學習和半監(jiān)督學習。最大區(qū)別是訓練集(已知事物)是否有對應(yīng)的類別標簽。
監(jiān)督學習就是用已知的事物特征(feature)和類別(label)
,訓練一個模型,用于預(yù)測只有特征的事物是哪個類別。
特征可以理解為導致分類的一些影響因素,比如分類桃花和菊花,可能特征就是顏色,花瓣數(shù)量,開花時間等等。
無監(jiān)督學習是根據(jù)已知的事物特征進行聚類。
半監(jiān)督學習是部分有l(wèi)abel。
這是文檔給出的導圖


api

我使用的一般基本流程是:
1.收集數(shù)據(jù),一般爬蟲就在這里用,包括特征(label,監(jiān)督學習),用pandas處理數(shù)據(jù)得到更多的特征,比如得到一些‘XX率’,得到原始的訓練集。
2.用sklearn.processing對數(shù)據(jù)預(yù)處理,normalize,主要針對的是feature數(shù)量級特別不一樣的情況,比如有10000和1.1,這種差別比較大的,就會出現(xiàn)特征對結(jié)果的"貢獻"不一樣。(主要是影響梯度下降的計算)
還有一種預(yù)處理是把文字類型數(shù)據(jù)改成類別類型,
3.選取多個模型,訓練模型,根據(jù)結(jié)果,得到學習曲線learning-curve,看是高偏差high bias還是高方差variance,調(diào)整原始數(shù)據(jù),選擇加入更多的數(shù)據(jù),還是調(diào)整參數(shù)。
4.用新數(shù)據(jù)訓練模型,選取效果好的,用 驗證曲線cross-validation curve輔助來調(diào)參。
5.用grid網(wǎng)格化搜索參數(shù)
寫在最后
我的數(shù)學水平大概在能知道求導,積分的概念,基本就是高中生水平,機器學習的確需要很高的數(shù)學基礎(chǔ),但是只是運用的話,就不需要那么高的水平,我覺得了解各個模型的參數(shù)影響什么,能夠調(diào)參就行了。
機器學習我主要是看了吳恩達的教程和[機器學習實戰(zhàn)](https://book.douban.com/subject/24703171/),統(tǒng)計方面看了白話統(tǒng)計
這三個我覺得算是非常通俗易懂,我是先看的機器學習實戰(zhàn),感覺比較懵,全靠吳恩達的教程,超級友好,推導由淺入深,關(guān)鍵把什么時候用,怎么樣用,流程是怎樣的都說的很清楚,超級推薦。
這個文集僅僅用于記錄我的學習心得。