1. 程式人生 > >特徵提取,特徵選擇,降維

特徵提取,特徵選擇,降維

特徵提取就是將機器學習演算法不理解的原始資料抽取特徵出來,這些特徵可以描述原始的資料,使得這些特徵可以被機器學習演算法所理解,這些特徵也就作為機器學習演算法的輸入。

在machine learning中,特徵降維和特徵選擇是兩個常見的概念,在應用machine learning來解決問題的論文中經常會出現。

       對於這兩個概念,很多初學者可能不是很清楚他們的區別。很多人都以為特徵降維和特徵選擇的目的都是使資料的維數降低,所以以為它們是一樣的,曾經我也這麼以為,這個概念上的誤區也就導致了我後面對問題的認識不夠深入。後來得到老師的指點才徹底搞清楚了兩者的關係,現總結出來與大家分享。

       machine learning的終極目標就是為了預測,當然預測前我們要對資料進行training。通常我們不會拿原始資料來訓練,為什麼吶?可能有些人覺得原始資訊包含了樣本最豐富的資訊,沒有經過任何處理的raw data能最完整表達樣本,這個觀點沒有錯。但是用raw data來直接訓練的話,有一個問題就是我們設計的分類器在訓練集上會得到很好的performance,但在測試集上的performance卻變得非常差。這就是過擬合(overfitting)的問題。用raw data直接訓練還有一個問題就是原始維度太高,耗時長。

     解決過擬合的問題就要求我們找出raw data中差異性最大的那些特徵,這樣才能保證分類器在測試集有好的performance。所以通常我們都是要對原始資料進行特徵提取的。提取特徵後通常特徵維數依然不低,而且依然可能會出現過擬合的問題,為了解決這些問題,通常的做法就是降維和特徵選擇。降維用的最多是PCA。

     從上面的分析可能看到,感覺降維和特徵選擇都是為了使資料維度降小。但實際上兩者的區別是很大,他們的本質是完全不同的。下面著重說說兩者的區別。

     降維本質上是從一個維度空間對映到另一個維度空間,特徵的多少別沒有減少,當然在對映的過程中特徵值也會相應的變化。舉個例子,現在的特徵是1000維,我們想要把它降到500維。降維的過程就是找個一個從1000維對映到500維的對映關係。原始資料中的1000個特徵,每一個都對應著降維後的500維空間中的一個值。假設原始特徵中有個特徵的值是9,那麼降維後對應的值可能是3。

    特徵選擇就是單純地從提取到的所有特徵中選擇部分特徵作為訓練集特徵,特徵在選擇前和選擇後不改變值,但是選擇後的特徵維數肯定比選擇前小,畢竟我們只選擇了其中的一部分特徵。舉個例子,現在的特徵是1000維,現在我們要從這1000個特徵中選擇500個,那個這500個特徵的值就跟對應的原始特徵中那500個特徵值是完全一樣的。對於另個500個沒有被選擇到的特徵就直接拋棄了。假設原始特徵中有個特徵的值是9,那麼特徵選擇選到這個特徵後它的值還是9,並沒有改變。

相關推薦

影象處理中專案程式碼合集包括特徵提取-影象分割-分類-匹配-噪等等

       這幾天在研究血管增強與分割,發現一個比較全面的影象處理方面的專案集合,裡面涵蓋了特徵提取、影象分割、影象分類、影象匹配、影象降噪,光流法等等方面的專案和程式碼集合,專案是2012年之前的,但是涵蓋比較基礎的原理知識,用到的時候可以參考一下: Topic

使用caffe的python介面進行特徵提取和人臉驗證修改程式碼dis=1-dis 使用caffe的python介面進行特徵提取和人臉驗證

原 使用caffe的python介面進行特徵提取和人臉驗證 置頂 2017年03月09日 10:39:07 csuwujiyang 閱讀數:4

【資料平臺】sklearn庫特徵工程之特徵選擇

1、特徵選擇 當資料預處理完成後,我們需要選擇有意義的特徵輸入機器學習的演算法和模型進行訓練。通常來說,從兩個方面考慮來選擇特徵: 特徵是否發散:如果一個特徵不發散,例如方差接近於0,也就是說樣本在這個特徵上基本上沒有差異,這個特徵對於樣本的區分並沒有什麼用。特徵與目標的相

Python爬蟲神器pyppeteer對 js 加密打擊

爬蟲神器pyppeteer,對 js 加密降維打擊 pyppeteer 是對無頭瀏覽器 puppeteer的 Python 封裝。

28.json數組select選擇input輸出對應數據

ase readonly bsp tor BE span cte AC ech 效果:選擇對應的車類,下面的input會實時出現車價。 html: <form action="" class="priceModelform1">

特徵提取特徵描述、特徵匹配的通俗解釋

特徵匹配(Feature Match)是計算機視覺中很多應用的基礎,比如說影象配準,攝像機跟蹤,三維重建,物體識別,人臉識別,所以花一些時間去深入理解這個概念是不為過的。本文希望通過一種通俗易懂的方式來闡述特徵匹配這個過程,以及在過程中遇到的一些問題。 首先我通過幾張圖片來

影象處理之特徵提取-ORP特徵匹配

1、演算法介紹 ORB(Oriented FAST and Rotated BRIEF)是一種快速特徵點提取和描述的演算法。ORB演算法分為兩部分,分別是特徵點提取和特徵點描述。 特徵提取是由FAST(Features from  Accelerated Segment

通過PCA選擇合適維度

PCA的作用有:降低特徵值維度,提高了計算效率,但丟失了資訊。資訊在PCA中我們用方差來表示。 一、PCA引數、屬性簡介 1.介紹PCA方法中引數: n_components: 預設值為保留所有特徵值維度,即不進行主成分降維 取大於等於1的整數時,即指定我們希望

使用TensorFlow進行特徵提取(中層特徵)以及mat檔案轉為tfrecord方法

在學習TensorFlow這個Google公司的神器一年之後,因為課題的需求,需要提取卷積神經網路的某一層的特徵,也就是我們所說的中層特徵,似乎中文網站沒有關於這方面的介紹,在經過摸索之後,終於搞清楚了流程,給大家分享一下。 我的GitHub地址是https://githu

機器學習中的特徵提取特徵轉換 [將線性不可分轉換為線性可分]

機器學習中,神經網路是如何將線性不可分的樣本,進行很好的分類的? 如上圖所示,左圖中的藍色的圓圈和紅色的叉叉是線性不可分的。 如上圖中右圖所示,我們發現它們是可以被一個圓分開的。假設黑色圓圈的公式為: x1^2 + x2^2 + 0.6 = 0,則可以使用如下公式將藍色的圓圈和紅色

(資料結構排序的實驗四)快速冒泡簡單選擇直接插入排序的c語言實現!!

<span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18p

如何安裝centOS映象選擇安裝centOS報錯U盤安裝centOS

第一步:訪問官網 前往官網 https://www.centos.org/  進去點選GET centOS NOW 有三個選擇 DVDISO EverythingISO Minimal ISO 這三個分別為 DVD映象檔案  一般是4G左右  我們下載這個 用光碟或者

排序演算法--選擇篇(簡單選擇樹形選擇堆排序)

選擇類排序的基本思想是每一趟在n-i+1(i=1,2,...,n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。本篇在介紹簡單選擇排序的基礎上,給出了其改進演算法--樹形選擇排序和堆排序。 1.簡單選擇排序 演算法思想:第一趟簡單選擇排序時,從第一個記錄開始,

目標檢測的影象特徵提取 HOG特徵

       方向梯度直方圖(Histogram of Oriented Gradient, HOG)特徵是一種在計算機視覺和影象處理中用來進行物體檢測的特徵描述子。它通過計算和統計影象區域性區域的梯度方向直方圖來構成特徵。Hog特徵結合SVM分類器已經被廣泛應用於影象識別中,尤其在行人檢測中獲得了極大的成

點input框彈出一個多選框checkbox進行選擇每個以逗號隔開

點input框,彈出一個多選框,進行選擇,每個以逗號隔開,如上圖所示 1. <input id="taskPlanDay" name="taskPlanDay" type="text" style="width: 150px" class="inputxt" rea

萬能選擇器(可自定義生日選擇地區選擇性別選擇);

import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; import and

特徵提取特徵選擇

特徵提取就是將機器學習演算法不理解的原始資料抽取特徵出來,這些特徵可以描述原始的資料,使得這些特徵可以被機器學習演算法所理解,這些特徵也就作為機器學習演算法的輸入。在machine learning中,

資料預處理備忘(特徵選擇三大技術資料形態處理模型評估)

這一塊的每一個小點都可以引申出很多的東西,所以先做一個大概,用以備忘,持續更新。 *一般過程: (1)資料採集 資料採集是最基本也很耗時間的工作。比如對於具體的工程事件,需要考慮採集哪些型別的資料?需要哪些屬性?需要多少資料支撐?然後再實際去採集這些資料,離線採集?線上獲取? (2)

Spark ML 之 特徵選擇提取轉換工具

資料探勘演算法中有很大一部分都是資料預處理工作,畢竟現有模型都是比較成熟的,只需要學會呼叫就好,如何把原始資料轉化為演算法模型適用的資料結構也是很重要的一步。spark ML中提供了對特徵的提取(Extracting),轉換(transforming)和選擇(s

特徵選擇特徵提取

對於降維,我看可以簡單理解為減少資料的維度,說白了就是減少變數個數。文末的視訊牆裂推薦觀看一下。 特徵選擇: 不改變變數的含義,僅僅只是做出篩選,留下對目標影響較大的變數。 Backward Elimination(反向淘汰) Forward Selectio