發表文章

目前顯示的是 6月, 2013的文章

[ML] Random Forest

圖片
終於來到我最喜歡的演算法 - Random Forest 會喜歡的原因是, 他簡單, 直觀, 當然前提是你要知道甚麼是 Tree 在看 Random Forest 之前最好先去了解一下 Tree, Link:  Decision Tree , Link:  CART 假設你已經知道甚麼是 Tree, 那你也差不多沒幾步就可以完成 Random Forest 了!! 在這之前先聽個故事... ptt 最喜歡惡搞的一個故事就是, 父親給兒子筷子, 然後一根很容易折斷 兩根很容易折斷, 三根也很容易折斷...嗯...這兒子力量好強!! 這應該叫他 SVM, 因為超強的XDDD 如果今天變成是, 給到第三跟筷子兒子折不斷, 那這時候就要跟他講團結的力量大XD 其實 Random Forest 就是團結的力量 !! 用一句話描述 Random Forest: Random Forest 基本概念就是先 build 多棵 Decision Tree, 然後集合這些 Tree 的力量為一個 Forest, 再來做預測 打完收工~~大~家~可~以~回~家~了!! 當然...事情永遠不會那麼單純XD

[ML] Classification & Regression Trees (CART)

圖片
上次提到了一個很簡單的 Decision Tree, 應該大多數人都可以很輕易理解 不過其實 Decision Tree 有相當多種變化, 這次來提一個也很常見的 Tree Classification & Regression Trees (CART)  西元1984年, 由 Breiman, Friedman, Olshen, and Stone 等人發表的演算法 是一個比我還老的演算法....Orz Breiman (1928 - 2005) 是個很強的教授, Random Forest (2001) 也是他發表的其中之一演算法 之後應該也會再寫個 Random Forest ~!!

[ML] K-means algorithm (revision 1)

圖片
這次來講個非supervised learning, K-means algorithm 大概算是unsupervised 演算法中, 數一數二簡單的 unsupervised 的意思就是, 給你的training data沒有答案 以前(大學)在DM的書上還看過說, 沒有專家跟你說答案 這DM的解釋讓我當初超莫名奇妙的, 不過後來想想, 其實也不算有問題 因為 data 可能就是沒有答案, 只是一坨混亂, 但是可以用一些演算法找出些許規則 Unsupervised 常見的運用有找出 data 中的特例, 將 data 區分成不同類別, 甚至是壓縮技術 首先, 因為 data 沒有 label, 所以只能從 feature 上下手找規則 如下圖 (我用random normal distribution 隨機建立出來三個 group)

[ML] Decision Tree (revision 3)

圖片
來提個我工作上我還滿喜歡使用的演算法 - Decision Tree wiki:  http://en.wikipedia.org/wiki/Decision_tree_learning decision tree 基本上 google 一下應該就可以找到很多東西 不過要注意的是要 google 的是 decision tree learning 之前在講 Adaboost 有稍微提到這東西, Decision Stump 就是一個簡化版的 Decision Tree 這東西其實說起來相當簡單, 嗯, 其實做起來也超級簡單XD 簡單提一下, 這邊有一個很有趣的網站 -  http://en.akinator.com/ 遊戲是這樣的, 你可以心中想一個人, 然後回答他的問題, 他問題答案只會是 - 是/否 回答他的問題一定的量之後, 他就會猜你心中想的人物 那, 這背後當然是有龐大的資料庫跟使用者回饋 不過技術上, 就很像是Decision Tree 題外話: 我還真的有去買C4.5作者的書, 可是有一半內容就只是把C4.5的程式碼印上去... C4.5 是一個很有名的 Decision Tree algorithm, 新版本叫做C5.0