在先前Q30什麼是特徵工程?為大家說明了什麼是特徵工程,及進行 特徵學習的六大問題, 它對資料科學家來說,預測模型是使用統計模型預測未來結果的作法,現在在AI領域相當盛行。成功的預測模型的基礎,就叫做「特徵工程」(Feature Engineering),它是資料科學流程中最耗費時間的步驟,涉及許多測試、錯誤。
特徵工程的目的是從原始特徵空間中選擇少量的相關特徵作為資料的表示。
而現在的深度學習技術強調的是從原始資料中直接學習有效的資料表示,並且在很多工上取得了很好的效果。
那麼是不是能進一步解讀,有了深度學習就不用再執行特徵工程了呢?答案當然是否定的。
之前的機器學習+特徵工程,逐漸被自動提取特徵的端到端的深度學習所取代。因為機器學習和特徵工程是分布式 優化,多個局部最優無法保證得到全域最優,而深度學習模型是針對一個目標,進行整體優化,更容易得到全域最優。
但是要想讓深度學習模型充分提取優質特徵,往往需要大量的資料,現實中標注資料往往比較昂貴且品質沒有保證,尤其是對於自然語言處理的問題來說。
所以實際上,目前的深度學習中,構建網路結構這個過程就是特徵工程方法。特徵工程還是需要掌握的,畢竟不是每個專案都可以用深度學習來做,用機器學習做有些效果會比深度學習好,所以要兩手都要抓。
深度學習如何做特徵工程
「深度學習能自動獲取特徵」只是對某些領域而言的。
實際上深度學習只是能自動對輸入的低階特徵進行組合、變換,得到高階特徵。對於圖像處理之類的領域來說,圖元點就可以作爲低階特徵輸入,組合、變換得到的高階特徵也有比較好的效果,所以看似可以自動獲取特徵。
在其他領域的情況就不是這樣了。例如自然語言處理中,輸入的字或詞都是離散、稀疏的值,不像圖片一樣是連續、稠密的。輸入原始數據進行組合、變換得到的高階特徵並不是那麽有效。
而有的語義並不來自數據,來自人的先驗知識,所以利用先驗知識構造的特徵是很有幫助的。
在深度學習中,原來的特徵選擇方法仍然適用。不過方便的一點是神經網路能對特徵自動進行排列組合,所以只要輸入一階特徵就行,省去了手動構造高階特徵的工作量。
想成為爬蟲工程師 、資料分析師 、資料工程師 、資料分析領域專家 、人工智慧產品經理嗎?還是你的公司正需要培養此領域人才呢?
點我了解 AI資料科學家-三階段全方位學程班 👉 https://www.tibame.com/eventpage/ai_datascientist
每日5分鐘, 提拔我園丁陪你快速添補AI/資料科學知識與技能。
若想了解更多AI/資料科學的小知識、及各產業的相關應用,歡迎訂閱TibaMe FB及部落格,或有其他想了解的主題歡迎在下方留言讓我們知道唷!
參考資料