人工智慧是過去兩到三年時間內科技行業最熱的話題。而人工智慧技術進步的背後,實質上是機器學習快速發展後所帶來的巨大提公升。
機器學習被廣泛定義為「利用經驗來改善計算機系統的自身效能」。事實上,「經驗」在計算機中主要是以資料的形式存在的,因此資料是機器學習的前提和基礎。
在第一期格物匯的文章中,我們介紹了工業資料預處理的方法,主要針對資料格式異常,資料內容異常等問題進行了簡要**。做資料預處理的主要目的是將雜亂無章的資料規整成我們想要的矩陣、**、張量等結構,方便在之後的機器學習中進行模型訓練。然而資料中的問題還包含了冗餘,雜訊,高維度,體量大等很多問題。解決這些問題的方法與資料預處理的方法在機器學習中被統稱為特徵工程,今天我們就來了解一下吧。
◆ ◆ ◆
特徵工程是什麼
當你想要你的**模型效能達到最佳時,你要做的不僅是要選取最好的演算法,還要盡可能的從原始資料中獲取更多的資訊。那麼問題來了,你應該如何為你的**模型得到更好的資料呢?這就是特徵工程要做的事,它的目的就是獲取更好的訓練資料。
維基百科中給特徵工程做出了簡單定義:特徵工程是利用資料領域的相關知識來建立能夠使機器學習演算法達到最佳效能的特徵的過程。簡而言之,特徵工程就是乙個把原始資料轉變成特徵的過程,這些特徵可以很好的描述這些資料,並且利用它們建立的模型在未知資料上的表現效能可以達到最優(或者接近最佳效能)。從數學的角度來看,特徵工程就是人工地去設計輸入變數x。
◆ ◆ ◆
特徵工程的重要性
關於特徵工程(feature engineering),已經是很古老很常見的話題了,坊間常說:「資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已」。由此可見,特徵工程在機器學習中占有相當重要的地位。
1、特徵越好,靈活性越強
只要特徵選得好,即使是一般的模型(或演算法)也能獲得很好的效能,因為大多數模型(或演算法)在好的資料特徵下表現的效能都還不錯。好特徵的靈活性在於它允許你選擇不複雜的模型,同時執行速度也更快,也更容易理解和維護。
2、特徵越好,構建的模型越簡單
有了好的特徵,即便你的引數不是最優的,你的模型效能也能仍然會表現的很nice,所以你就不需要花太多的時間去尋找最有引數,這大大的降低了模型的複雜度,使模型趨於簡單。
3、特徵越好,模型的效能越出色
顯然,這一點是毫無爭議的,我們進行特徵工程的最終目的就是提公升模型的效能。
◆ ◆ ◆
特徵工程怎麼做
既然特徵工程這麼重要,那麼我們就來看看特徵工程到底是如何實現或者工作的。特徵工程到底分為哪些內容?我們大致可以參考如下流程圖來看看。
簡單來說,特徵處理主要分如下三個方法:
特徵構建
特徵構建是指從原始資料中人工的找出一些具有實際意義的特徵。需要花時間去觀察原始資料,思考問題的潛在形式和資料結構,對資料敏感性和機器學習實戰經驗能幫助特徵構建。除此之外,屬性分割和結合是特徵構建時常使用的方法。特徵構建是個非常麻煩的問題,書裡面也很少提到具體的方法,需要對問題有比較深入的理解。
特徵抽取◆ ◆ ◆
小結
總的來說,資料會存在各種各樣的問題,針對這些問題我們的特徵工程給出了相應的解決辦法:1.特徵解釋能力不足,我們可以嘗試使用特徵構建,對資料進行公升維來提公升特徵解釋能力;2.特徵冗餘,維度太高,雜訊太多,我們可以通過特徵抽取和特徵選擇,來對資料進行降維去噪,提煉特徵。當然還有其他的特徵處理方法,一般需要根據具體問題而定。
從機器學習看特徵工程
到底什麼是特徵工程,為什麼需要特徵工程?這一切要從機器學習說起,為了提取知識和做出 機器學習使用數學模型來擬合資料 然而資料的表示形式各樣,有文字 語音 影象 數值等等,它們並不能直接作為模型的輸入。此時模型將特徵作為輸入,特徵就是資料和模型之間的紐帶,是原始資料在某個方面的數值表示。特徵工程 指從...
從A到Z,掌握機器學習基本詞彙 A
accuracy 準確率 機器學習的常用評價指標。定義如下 accuracy truepositives truenegatives 總樣本數 經常和準確率一起出現的,還有精確率和召回率。activation function 啟用函式一種函式 例如 relu 或 sigmoid 將前一層所有神經元...
從調包到工程實戰,如何快速掌握機器學習技能
基礎技能是必備的 一方面是因為機器學習本身的體系十分龐大,當然只是教sklearn調個模型顯然不是在認真講機器學習。學習路徑的設計 知識點難易度的把握,案例的選取,內容的深入程度 等細節都做了大量延伸和重點打磨。既要易於理解,也要兼顧深度 掌握那部分核心技能,並在實際的案例中輸出結果 比如系統的微積...