總述
我們假設把原資料中心化處理之後為
pca(principle component analysis) 是一種降低資料維度的方法。接下來我分別用四種方法來推導一下(方法之間相互等價)。
我們通過方差來度量資料內的資訊量,我們可以看到,如果將資料投影到某個方向,比如方向1,或者方向2,當投影後的資料盡可能分散的時候,也就是方差盡可能大的時候,保留的資訊量是最大的,因此方向1是更好的。
於是,我們的問題就變成了:在多維空間下,如何選擇乙個最優的方向,來讓投影之後的資料保留最多的資訊量。於是我們假設這個方向的單位方向向量是
,在多維空間下投影之後的資料為
所以方差變為
於是我們求解的最優化的問題就是,如何使
利用拉格朗日乘子法求得
因此 就是s的特徵值,而
就是對應的特徵向量,
就是主成分。
還是上圖的例子,我們希望找到乙個方向,讓點到投影點的距離最小,損失的資訊最少。所以還是方向1更好一些,於是問題變成了
所以等價於
所以和上述方法其實是等價的。
在通過座標變換之後,即對原始資料進行線性變換後,盡量使得變換後的協方差矩陣
對角化(即使得除矩陣d對角線外的元素都為0)。這樣根據協方差矩陣的性質,可以使得變化後,不同特徵之間的相關係數最小,盡量不相關。
而這時我們會發現變換後的對角矩陣d對角線其實是s的特徵值(根據線性代數的知識),而p則是由對應的特徵向量組成。於是就需要我們對s進行特徵值分解
或者對x進行svd(也可以使s對角化)
考慮線性回歸模型
我們考慮對x做乙個變換,假設
是的特徵值,
是對應的標準正交化特徵向量,我們設
模型就會變為
我們就可以發現
, 每乙個特徵值
都對應第i個主成分的方差是多少,即在0左右的變動有多少。所以當一些特徵之間存在一些線性關係的時候,
就會有一些很小的特徵值。在這種情況下,我們如果捨去後幾個主成分的話,誤差也不會太大。
而且在一定條件下,這種方法可能會比普通的最小二乘估計的均方誤差更小。
(其實這種方法就是應用最大方差法結論反推,然後從代數方法解釋了一下。)
。。。就隨便寫寫,之後繼續完善吧。。。
點雲的法向量
1.在這裡採用的是pcl點雲庫。pcl點雲庫可能存在配置問題,用cmake時候預設支援的是32位的處理,所以建議安裝pcl 32位的all in one。這樣不容易產生錯誤。2.下面試cmake的內容。cmake minimum required version 2.6 fatal error pr...
PCL中計算點雲的法向量並顯示
參考源 利用的是最小二乘估計的方法計算了點雲的法向量,並且提供了兩種法線的顯示方法,還設定了多個viewport,練習了點雲的顯示 include stdafx.h include include include include include include int main 計算法線 pcl n...
私有雲儲存的四種技術分析
私有雲專案中,將面臨選擇儲存方案,在業內常見有四種方案,也相應針對四種不同的應用場景。我們從簡單到複雜,為大家再次介紹一下。一 本地磁碟 das儲存 我們直接在雲伺服器 物理機中 通過pci e sata sas等本地介面掛上一塊高速 大容量硬碟,為本地磁碟。在介面中,以scsi儲存協議為主要的通訊...