1. 程式人生 > >機器學習中的“特徵”到底是什麼?

機器學習中的“特徵”到底是什麼?

經常聽到搞演算法的人把“feature”掛在嘴邊,這個 feature 可不是產品經理丟給開發的feature -- 產品的新特性,而是“特徵”。在機器學習中,特徵是被觀測物件的一個獨立可觀測的屬性或者特點。比如識別水果的種類,需要考慮的特徵(屬性)有:大小、形狀、顏色等。要識別一個人是誰,可以用他的走路姿勢、說話語氣等來衡量。古人歸有光在《項脊軒志》提到了“足音辨人”的技能,所以走路的腳步聲也可以用來作為是別人的特徵。 特徵一般用數值而非文字等其他形態,主要是為了處理和統計分析的方便。特徵的特點是:有資訊量,區別性,獨立性。背後的思路是通過一個抽象、簡化的數學概念來代表複雜的事物。 ## 特徵向量 一個特徵不足以代表一個物體,所以機器學習中使用特徵的組合--特徵向量。它是一個 n 維的數值向量,可以用來代表某個東西。比如人臉識別中,使用256維度的向量來代表一個人的面部特徵。特徵向量都是為了解決實際問題而專門設計的,比如進行人臉識別的場景和進行水果種類識別的場景,使用的特徵向量肯定是不一樣的。 ## 用途 有了特徵向量這種物體的數字化表示,就可以做檢索,分類等應用了。 檢索場景:收集公司中員工的面部特徵值作為底庫,在公司門口使用攝像頭分析鏡頭前來人的特徵,兩者做比對就可以作為門禁使用。可以使用逃犯的照片作為底庫,在演唱會門口分析參會人員的特徵,就可以抓逃犯。 分類、預測場景:特徵向量經常和權重做點乘來構建一個線性預測函式,可以用來做預測。比如預測人的性別,年齡,種族等。 ## 極簡例子 假設我們要實現《寫給小朋友看的人工智慧介紹》中的識別蘋果和香蕉的邏輯。那麼可以選擇特徵向量 fv 為 [形狀狹長,是黃色]。形狀狹長這個特徵的取值範圍為[0, 1],值越大代表形狀越狹長。是黃色這個特徵是離散值,是為1,不是為0。設定閾值為0.5,如果計算出來的結果大於0.5,說明是香蕉;反之結果小於0.5,是蘋果。那麼我們的預測機制是:先判斷出當前照片的特徵向量,如下圖,由於形狀是圓形,顏色為綠色,所以其特徵向量 fv為:[0,0],然後再求fv和w的標量積:fv*w = 0, 所以結果是蘋果。 總結一下,特徵最早來源於統計學中如線性迴歸中的可解釋變數,用途是為了用數字化的形式來區分實際場景中的物體,一般會要求特徵有區分度、可衡量相似性的特點。 ## 歡迎關注我的微信公眾賬號,會在第一時間更新 ![code](http://img2.tbcdn.cn/L1/461/1/5a0eff69de17d58383b72c9a78b3c28cd7