| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Today 研究日誌.紀錄
工程師也可以很感性...
Sunday, April 05, 2015
Check out Amily Lin's updated profile
Friday, November 01, 2013
還是換到 Logdown 好了...
Blogger 對於非資訊學科的工程師實在不是很好用耶,好多功能需要自己加程式碼在範本裡,像是 程式區塊、Latex 的數學式等等。有時候改一改還怕改爛掉。也因為這些功能不是 Google 自有的,所以不能確定永遠能用(哀哉 WatchMath),就連是 Google 提供的服務也不見得一直能用,更何況是其他的營利公司呢!
最近把想法都放到 Logdwon 裡了,那裡功能比較符合我的需要。Logdown 是一個很新的 Blog 的服務網站。或許就因為是新出來的,許多功能更貼近我現在的需求。像是支援輕量級的標記語法 Markdown、原生支援 Latex 語法(這個我愛死了~)、可以直接編輯表格、甚至拖拉放置圖片等等。這些功能的服務看起來簡單衛生又實用。不知道 Google 是不是擺著 Blogger 自生自爛,明明在 Gmail 已經有拖拉放圖的功能,甚至還可以直接 Ctrl-V 把圖貼入郵件裡,為啥 Blogger 裡就不一起加上這個功能呢?或許 Google 太大了,不屑作這個吧。這樣也好,讓一些新秀高手可以多發揮,世界也可以更進步囉~
Logdown 還有很多新功能,有機會大家可以來看看。
不過這裡還是會寫一些不那麼嚴謹的東西,關於學習或研究的心得之類,畢竟對這裡也有些感情了...
最近把想法都放到 Logdwon 裡了,那裡功能比較符合我的需要。Logdown 是一個很新的 Blog 的服務網站。或許就因為是新出來的,許多功能更貼近我現在的需求。像是支援輕量級的標記語法 Markdown、原生支援 Latex 語法(這個我愛死了~)、可以直接編輯表格、甚至拖拉放置圖片等等。這些功能的服務看起來簡單衛生又實用。不知道 Google 是不是擺著 Blogger 自生自爛,明明在 Gmail 已經有拖拉放圖的功能,甚至還可以直接 Ctrl-V 把圖貼入郵件裡,為啥 Blogger 裡就不一起加上這個功能呢?或許 Google 太大了,不屑作這個吧。這樣也好,讓一些新秀高手可以多發揮,世界也可以更進步囉~
Logdown 還有很多新功能,有機會大家可以來看看。
不過這裡還是會寫一些不那麼嚴謹的東西,關於學習或研究的心得之類,畢竟對這裡也有些感情了...
Friday, June 14, 2013
Friday, May 17, 2013
使用 LIBSVM 的 One-Class SVM 來尋找離群值
由於目前研究需要辨識資料樣本的離群值,而最近正好在學習 SVM,就想用 LIBSVM 的 distribution estimation (one-class SVM) 功能來試試看。以下是測試 one-class 的說明與 Matlab 程式碼。
一開始先試做出一個資料集。這個資料集裡有兩種類別,分別是是 x 和 y。這兩種資料均是高斯分佈的隨機變數,各有 200 筆資料。這兩類別的前 100 筆資料都是平均值為 +2,變異數為 1 的高斯亂數。而後 100 筆資料為平均值是 -2,變異數為 1 的高斯亂數。
就這樣囉~(LIBSVM 真的好用!)
一開始先試做出一個資料集。這個資料集裡有兩種類別,分別是是 x 和 y。這兩種資料均是高斯分佈的隨機變數,各有 200 筆資料。這兩類別的前 100 筆資料都是平均值為 +2,變異數為 1 的高斯亂數。而後 100 筆資料為平均值是 -2,變異數為 1 的高斯亂數。
data_x = [ randn( 100, 1 ) + 2; randn( 100, 1 ) - 2 ] ;將這些資料放在一起,並作完均等化(normailized)後就可以得到要訓練模型與測試的事例(instance)。
data_y = [ randn( 100, 1 ) + 2; randn( 100, 1 ) - 2 ] ;
instance = [ data_x, data_y ] ;而這些事例對應到的標示(label)均為 1。
[ norm_instance, min_val, max_val ] = normalize( instance ) ;
label = ones( 200, 1 ) ;之後就可以用 LIBSVM 來建立分類模型。
svm_cmd = '-s 2 -t 2 -n 0.1 -g 12' ;在這裡的參數 "-s 2" 表示要用 one-class SVM,"-t 2" 表示要用 RBF Kernal,而 "-n 0.1" 及 "-g 12" 則是建立模型所需的參數,可以依據實際需求來調整。譬如說,如果期望離群值的數量不超過全部資料數的 10%,就要找一組 n 及 g 使得分類正確率超過 90%。尋找的方法可以用暴力法,全部都試過一次看看。在此先以 n=0.1 及 g=12 來試試看。實驗的結果如下:
model = libsvmtrain64( label, norm_instance, svm_cmd ) ;
[ predicted, accuracy ] = libsvmpredict64( label, norm_instance, model ) ;
optimization finished, #iter = 92下圖的綠點是 SVM 判斷為正常的點 ,紅點為判斷異常的點,藍色的區域則是會判斷為異常的區域。
obj = 38.822651, rho = 4.093761
nSV = 25, nBSV = 16
Accuracy = 90% (180/200) (classification)
就這樣囉~(LIBSVM 真的好用!)
Monday, December 24, 2012
簡報內容
一直以來都覺得話術是很不好的東西。似乎只要有好的話術,就可以把黑的變成白的,把白的轉成黑的,讓簡單事情變的政治複雜化來諂媚當權者,到最後喪失自我變的人不像人鬼不像鬼的(講到這裡就想到時代劇裡的壞太監)。但最近經歷一些跟別人作簡報的情況,我開始覺得適當的話術是好的。在不違背工程師歸本事實,數據說話的原則下,好的簡報話術可以增加工作的順暢度,或是可以找到更多的資源來幫助你面對要解決的問題。以下整理列出簡報對象及對應該有的簡報內容。
- 對同事:
- 目的:讓大家瞭解你在解決什麼問題,可以幫你看看方法有沒有錯誤或疏漏的,同時也說明這些技術未來還可以用在哪些地方。
- 簡報內容該有:動機、問題定義、方法原理、施作步驟、方法效能、未來規劃。
- 對小長官:
- 目的:讓他們知道你在作什麼,大方向有沒有錯誤,運氣好的話他們可以提供一些可應用在商業用途的想法。
- 簡報的內容該有:動機、問題定義、方法效能、情境展示、未來規劃。
- 對大長官:
- 目的:讓他們開心,然後不會出太多意見干擾你。
- 簡報的內容該有:動機、情境展示、商業效益。
Friday, December 21, 2012
規劃 20121221
過去會的東西的越來越不夠用,需要好好來規畫下一個十年要存哪些老本來吃
時間:週一到週五 21:00~10:00 聽課,11:00~12:00 思考練習。
預計花費 3 個月(9 週以上,12 週以下)完成
預期效果:基本功增強。
時間:週六早上聽課及思考練習
預計花費 3 個月(10 週以上,12週以下)
預期效果:萬用瑞士刀
時間:週六下午聽課,晚上思考練習
預計花費 5 個月(16 週以上,20 週以下)
預期效果:增強基本功
時間:與日遽增(什麼東西?)
預期效果:未來 Matlab 的替代方案
知識技能:
線性代數
教材:周志成的線性代數時間:週一到週五 21:00~10:00 聽課,11:00~12:00 思考練習。
預計花費 3 個月(9 週以上,12 週以下)完成
預期效果:基本功增強。
機器學習
教材:影像,講義時間:週六早上聽課及思考練習
預計花費 3 個月(10 週以上,12週以下)
預期效果:萬用瑞士刀
消息理論
教材:影像,講義時間:週六下午聽課,晚上思考練習
預計花費 5 個月(16 週以上,20 週以下)
預期效果:增強基本功
實作展示:
JavaScript & HTML5
教材: JavaScript 程式設計與應用
時間:週一至週五 18:00~19:00
預計花費 3 個月
預期效果:成果展示不求人預計花費 3 個月
R
教材:R for Beginners時間:與日遽增(什麼東西?)
預期效果:未來 Matlab 的替代方案
Saturday, November 17, 2012
辦公室抓老鼠
是的!我們公司辦公室有老鼠,而且還在白天的時候亂竄被人發現。
大家在發現老鼠後一陣慌亂,最後也不知道老鼠跑到哪裡了。後來同事就在我桌上就放了一個補鼠籠,裡面有同事早餐吃剩的培根肉。我寫了一支程式監看補鼠籠的狀態,一旦有異狀就會發郵件通知我。希望能早日將這隻老鼠逮捕歸案!
這支程式是會比對每 0.1 秒間畫面不同的程度,一旦不同的程度超過設定的臨界值就會判斷有異而把畫面照起來,然後將照片寄到信箱通知我。不過一旦突然關燈或開燈都會被當成異常,這個部分可以參考現場的亮度計作改進(謝謝 Y 君的建議)。
晚上下班關燈後 Webcam 真的什麼都照不到了。真該入手的紅外線攝影機,不過夜視攝影機都好貴...
大家在發現老鼠後一陣慌亂,最後也不知道老鼠跑到哪裡了。後來同事就在我桌上就放了一個補鼠籠,裡面有同事早餐吃剩的培根肉。我寫了一支程式監看補鼠籠的狀態,一旦有異狀就會發郵件通知我。希望能早日將這隻老鼠逮捕歸案!
桌上的補鼠籠 |
關燈的那一瞬間會判斷為異常,一片黑壓壓什麼都看不到 |
Subscribe to:
Posts (Atom)