機器學習實戰之開篇

紫鳳發表於2013-07-26

原文地址:

機器學習實戰之開篇

首先說點兒題外話,上上週末去了趟杭州參加阿里巴巴2013的ADC技術嘉年華,感覺阿里巴巴的大資料不說牛逼只能說運用的真是淋漓盡致,人家有的是使用者資源,這麼多財富不充分挖掘真是對不起d對不起gj更對不起自己,期間趕上圖靈打折,就順手入了一本"機器學習實戰",所以,準備把學習過程記錄下來,一是在整理的時候自己也能夠理清思路,二是督促自己貴在堅持,最後,如果有人能看到我寫的這篇文章那麼就當奉獻了

本人非工作需求,純屬自娛自樂,如有錯誤在所難免

準備按照這本書的章節順序分享自己學習心得,另外,如果涉及到一些例如數學,資訊學等知識也可能單獨提取出來分享

什麼是機器學習

不廢話,具體參看維基,從定義我們可以看出機器學習包含了太多方面,總之個人感覺機器學習本質 上就是一種人工智慧,只不過這種人工智慧應用在領域,比如資料預測,資料分類等

機器學習主要任務

主要學習一下幾個方面:

  • 監督學習

      - 分類:解決如何將資料劃分到合適的分類中

     - 迴歸:主要用於預測數值型資料

  • 無監督學習:與監督學習相對,此時的資料沒有分類資訊也不會有目標值

     - 聚類:將資料集合分成有類似的物件組成的多個類的過程

      - 密度估計:將尋找資料統計值的過程成為密度估計

     - 降維:減少資料特徵維度,以便通過二維或者三維圖形展示資料資訊

機器學習演算法開發步驟

  • 收集資料

      - 利用爬蟲從網站抓取資料

      - 裝置提供的資料

      - 手動生成的資料

      - ......

  • 格式化資料

     - 資料型別格式化

     - 資料格式格式化

  • 分析資料

      - 這一步驟通過人工分析資料來確保資料的正確性

      - 分析資料合理性,例如某個個別資料和其它資料有強烈地"違和感",此時需要特殊處理

     - 可以通過二維或者三維展示資料資訊

  • 訓練演算法

     - 將前面產生的資料輸入到演算法,從而使機器從中抽取知識和資訊

      - 主要是監督演算法使用,無監督演算法無法使用(因為無監督演算法不存在目標變數值,故而也不需要訓練演算法,監督學習其實就可以看成先訓練再使用,由wiki定義也可以發現這一點)

  • 測試演算法

      - 監督學習和無監督學習都要進行此過程

     - 監督學習必須知道目標變數值才能測試正確性

     - 無監督學習要通過其他手段判斷正確性,例如人工

      - 如果測試不理想要考慮以下幾個方面:

       - 演算法:例如引數調整程式碼調整等

      - 資料:例如資料量太小或者太特殊等

  • 使用演算法

    使用語言

    這本書中使用Python語言,其實用Python更能讓我們初學者把精力放到演算法本身上而非程式碼本身,同樣一個簡單的功能可能用C或者Java實現起來要多幾倍的程式碼,況且如果演算法思想掌握了再把Python轉成C相對來說就容易了

相關文章