機器學習淺談
機器學習淺談
最近整理之前的學習成果,為了加深學習印象,同時也為自己的學習過程做一個記錄,決定寫下一系列的學習心得文章,梳理之前的學習內容。今天將從整體上記錄一下我學習機器學習的過程,以及對機器學習的哲學理解。
大綱
- 為什麼機器可以學習
- 如何進行機器學習
- 機器學習的小案例——Perceptron
1. 為什麼機器可以學習
學習的思路便是從得到的樣本中去了解一般性規律,用數學的表達方法就是:從一堆樣本中找到現實世界中的規則函式
那麼基於資料如何求出最符合
這個公式告訴我們當樣本數量
這個公式的機器學習理解為:
中
通過Hoeffding 不等式和機器學習的與之的聯絡,可以得出在
這也就解決了我們剛才所說的第一個問題,也保證我們使用機器學習演算法得到的小的
2. 如何進行機器學習
經過上一部分的梳理我們知道了機器學習可以分為以下兩個問題:
其實只知道這部分還不足以證明機器就可以學習了,這一部分還需要使用break point、成長函式、VC bound 等數學方法再去證明機器學習的可行性,但在這裡不做詳細的數學推導,後續會陸續記錄。這一部分將講述如何進行機器學習。
機器學習的大體流程:
因為實際機器學習過程中noise 的因素是不可避免的,所以
即結果與資料之間的關係由確定關係
3. 機器學習案例——Perceptron
這一部分只介紹一個非常簡單的機器學習演算法,Perceptron Learning Algorithm,以後會將所學習的機器學習或者深度學習演算法逐步做一個總結。
Perceptron 是一個線性分類器,所以其表現形式為:
這裡的
上式便是Perceptron 的備選函式集(Hypothesis set),而Perceptron 則作為機器學習流程圖中的優化演算法A。Perceptron 的優化過程為:
- 選取初始權重\omega_0
- 將權重代入到線性分類器中,找到出現錯誤的點sign\left(\boldsymbol{\omega^T_t\cdot x_{n(t)}}\right)\not=y_n
- 修改錯誤\boldsymbol{\omega_{t+1}}=\boldsymbol{\omega_t}+y_{n(t)}\boldsymbol{x_{n(t)}}
一直重複2和3步,直到沒有錯誤為止
這是一個簡單的機器學習演算法,可以解決簡單的線性可分資料集,這一演算法針對上述機器學習流程圖而言沒有顯性的說明錯誤函式(err measure),但是從演算法優化過程來看,這個演算法的err measure 正是最簡單的0/1 error,針對err measure 還會在複習幾個演算法之後專門開一篇介紹。
這篇文章簡單地介紹了機器學習的流程以及一些機器學習的哲學問題,其實無論學會多少機器學習演算法,總歸逃不過這一流程,機器學習哲學理念打好對於以後學習演算法也會事半功倍。這篇文章總體的線條較粗,要在以後不斷的進行優化和加強。
第一次使用Markdown 來編輯文章,竟然還有些喜愛這東西了。
相關文章
- 機器學習-----線性迴歸淺談(Linear Regression)機器學習
- 【機器學習】李宏毅——淺談機器學習原理+魚與熊掌兼得的深度學習簡述機器學習深度學習
- 淺淺談ReduxRedux
- 機器學習深入淺出機器學習
- 淺淺淺談JavaScript作用域JavaScript
- 機器學習入門_從機器學習談起機器學習
- Celery淺談
- 淺談flutterFlutter
- 淺談JMM
- 淺談反射反射
- 淺談mockMock
- 淺談SYNPROXY
- 淺談Disruptor
- 淺談IHttpHandlerHTTP
- 淺談 PromisePromise
- 淺談PWA
- 淺談vuexVue
- 淺談JavaScriptJavaScript
- 淺談RMQMQ
- 淺談Zilliqa
- 淺談RxJavaRxJava
- 淺談NginxNginx
- 淺談 JavaScriptCoreJavaScript
- 淺談MVPMVP
- 淺談BitMap
- Jquery淺談jQuery
- 淺談CopyOnWriteArraySet
- ElasticSearch淺談Elasticsearch
- 淺談promisePromise
- 淺談框架框架
- 淺談mvcMVC
- 淺談遊戲遊戲
- 淺談RESTREST
- ZooKeeper淺談
- ElasticJob淺談AST
- 淺談WebSocketWeb
- 淺談HTMLHTML
- 淺談redux(一)Redux