[LibSVM] SVM 實驗最佳化參數
多媒體系統課當時已稍微玩過LibSVM實驗,然而那時候並沒有下參數,讓分類結果最佳化,於是今日捲土重來。
承接支持向量機器 (Support Vector Machine)的介紹之後,我們知道資料通常沒有那麼容易地被完美分類,那問題是不是就無解了呢?其實不然,如果用直線無法區分,那麼就用曲線來區分,然而曲線也會遇到障礙,而不得不讓資料混在錯的類別,如果我們提高層次來看待分類,那麼問題似乎就變得簡單了。
支持向量機器 (Support vector machine)通常用在機器學習 (Machine learning)。是一種監督式學習 (Supervised Learning)的方法,主要用在分類 (Classification)和回歸 (Regression)上。現今多數人多簡稱之為SVM,在此來個SVM概念教學。
註:監督式學習,是一個機器學習中的技巧,可以由訓練資料中學到或建立一個模式(function / learning model),並依此模式推測新的實例 (instances)。訓練資料(training data)是由輸入物件(通常是向量)和預期輸出所組成。函數的輸出可以是一個連續的值(稱為迴歸分析),或是預測一個分類標籤(稱作分類)。
Precision and Recall是評估測量 (Evaluation Measurement)的方法之一,特別是在資訊檢索和資料探勘這兩個領域,我們想知道下query後系統的效能如何,系統回傳的結果是不是使用者想要的。
跟上次介紹的積分影像 (Integral Image)很像,積分直方圖 (Integral Histogram)有異曲同工之妙,都是dynamic programming的一種計算值的方法,可重複利用過去已計算過的值,來獲得未來所需要的值,這種DP技巧可以減少相當多的計算量,進而達到加速的目的。
去年已經寫過人臉偵測 (Face Detection),那是Sedir同學 (這裡幫她廣告一下~目前單身,想認識可留言或寄信給我)推薦我使用的程式碼,這次我自己試用OpenCV 2.4 beta裡的tutorial code,發現它多了人眼偵測 (Eye Detection),那就直接來玩這版的人臉偵測 (Face Detection)。
人臉偵測使用Haar features來辨別window中的影像是否為人臉特徵,然而以暴力法來做速度實在太慢,為什麼?因為必須掃描整張影像,而且影像裡人臉的特徵除了位置因素,還有大小和型態等因素需要考量,勢必得利用特殊計算方法,才能達到現在如數位相機的real-time人臉偵測,於是積分影像 (Integral Image)這個計算方法因應而生!
昨天以超破的英語報告,有很多細節想講,但……哈~一直吃螺絲,無法淋漓盡致地表現,真是可惜呢!總之,我覺得我的專案做得很出色,雖然還是只能offline影像檢索,但對於同一類影像的檢索,準確率十分高,這都多虧強大的SIFT區域特徵擷取,只要加速它,相信就能做到online影像檢索:P
五月底的時候,多媒體系統設計課報告了期末專案的點子,有關於影像檢索。
今天和下週是多媒體報告的日子,我抽到簽王—紅心A,依老師定義,是21號,而我們班同學有21個,於是我就是最後一個報告啦~若我想要第一個衝上去報告也可以,我們有自願制度!不過我要多利用一個禮拜的時間,今天先觀摩大家報告的狀況,然後揣摩自己報告的時候會有什麼樣的問題,發現之後立刻做改進!我發先這位同學—路克做得相當有趣,是一個叫做手機模型辨識的系統。
HappyMan・迴響