機器學習11主成分分析

降維(Dimensionality Reduction)?:

一、 降維目的:

目的一:數據壓縮(Data Compression)

目的二:數據可視化(Visualization)

二、 主成分分析(PCA)

主成分分析問題的描述:

算法:?

選擇主成分的數量,即k值:

壓縮后的復原:

三、 錯誤的應用場景:


?

降維(Dimensionality Reduction)?:

?

一、 降維目的:

目的一:數據壓縮(Data Compression)

數據壓縮不僅可以節省內存或磁盤,還可以加快學習算法。 ?

可以把任何維度的數據降到任何想要的維度, 例如將 1000 維的特征降至 100 維。

?

目的二:數據可視化(Visualization)

50 維的數據不能可視化,但將其降至 2 維,便可以將其可視化。

這樣做的問題在于,降維算法只負責減少維數,新特征的意義必須由我們自己去發現了。?


二、 主成分分析(PCA)

主成分分析(PCA)是最常見的降維算法。?
在 PCA 中,要做的是找到一個方向向量(Vector direction),當把所有的數據都投射到該向量上時,希望投射平均均方誤差能盡可能地小。方向向量是一個經過原點的向量,而投射誤差是從特征向量向該方向向量作垂線的長度。

?

主成分分析問題的描述:

將 n 維數據降至 k 維,目標是找到向量 u(1),u(2),...,u(k)使得總的投射誤差最小。

?

PCA 將 n 個特征降維到 k 個, 可以用來進行數據壓縮, 如果 100 維的向量最后可以用 10維來表示,那么壓縮率為 90%。

同樣圖像處理領域的 KL 變換使用 PCA 做圖像壓縮。但 PCA?要保證降維后,數據的特性損失最小。

?

PCA 技術的一大好處是對數據進行降維處理。我們可以對新求出的“主元” 向量的重要性進行排序,根據需要取前面最重要的部分,將后面的維數省去,可以達到簡化模型或是數據壓縮的效果。同時最大程度的保持了原有數據的信息。

?
PCA 技術的一個很大的優點是,它是完全無參數限制的。在 PCA 的計算過程中完全不需要人為設定參數或是根據任何經驗對計算進行干預, 最后的結果只與數據相關, 對用戶是獨立的。?


但是,這也可以看作是缺點。如果用戶對觀測對象有一定的先驗知識,掌握了數據的一些特征, 卻無法通過參數化等方法對處理過程進行干預, 可能會得不到預期的效果。

?

?

算法:?

1、均值歸一化;?

2、 計算矩陣X^{T}X

3、計算矩陣?X^{T}X 的特征值和特征向量;

4、根據特征值排序,選出前k個對應的特征向量。

5、將每個樣例和k個特征向量做內積,即得到降維后的k個特征。

?

?

選擇主成分的數量,即k值:

?

壓縮后的復原:

?PCA 作為壓縮算法,可能需要把 1000 維的數據壓縮?100 維特征,或具有三維數據壓縮到一二維表示。

所以,如果這是一個壓縮算法,應該能回到這個壓縮表示,回到你原有的高維數據的一種近似。

這是一個漂亮的與原始數據相當相似。所以,這就是從低維表示 Z 回到未壓縮的時表示。

我們得到數據的一個近似的原始數據 X,也把這個過程稱為重建原始數據


三、 錯誤的應用場景:

錯誤一: 將其用于減少過擬合(減少特征的數量)。這樣做非常不好,不如嘗試歸一化處理。原因在于主要成分分析只是近似地丟棄掉一些特征, 它并不考慮任何與結果變量有關的信息, 因此可能會丟失非常重要的特征。而歸一化處理會考慮到結果變量,不會丟掉重要的數據。?

錯誤二:默認地將主要成分分析作為學習過程中的一部分,這雖然很多時候有效果,最好還是從所有原始特征開始,只在有必要的時候(算法運行太慢或者占用太多內存)才考慮采用主成分分析。

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387248.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387248.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387248.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Apriori進行關聯分析(一)

使用Apriori進行關聯分析(一)大型超市有海量交易數據,我們可以通過聚類算法尋找購買相似物品的人群,從而為特定人群提供更具個性化的服務。但是對于超市來講,更有價值的是如何找出商品的隱藏關聯,從而打包促…

主成分分析法 (PCA) 用于數據可視化實驗 -- Matlab版

第一步:下載數據集。 https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#pendigits 第二步:改變數據格式。 注:此數據集的各特征值均為像素,即屬于同一量綱,故無需歸一化步驟。 原格式為&a…

后端視角下的前端框架之Vue.js初探

背景 作為常年搞后端的自己來說,除了多年前學習的一點關于HTML的皮毛,對現在的前端技術棧可謂是一竅不通。但是因為最近在做的內部業務全鏈路監控系統,負責前端的同事做到一半去搞別的項目了,為了把項目落地不得不硬著頭皮學一下前…

機器學習12推薦系統

推薦系統(Recommender Systems) 推薦系統根據瀏覽用戶過去買過什么書,或過去評價過什么電影來判斷并推薦新產品給用戶。 這些系統會為像亞馬遜和網飛這樣的公司帶來很大一部分收入。 因此,對推薦系統性能的改善,將對這些企業的有實質性和…

使用Apriori進行關聯分析(二)

使用Apriori進行關聯分析(二)書接上文(使用Apriori進行關聯分析(一)),介紹如何挖掘關聯規則。發現關聯規則我們的目標是通過頻繁項集挖掘到隱藏的關聯規則。所謂關聯規則,指通過某個…

Apache Tomcat 7 Configuration BIO NIO AIO APR ThreadPool

Apache Tomcat 7 Configuration Reference (7.0.93) - The Executor (thread pool)https://tomcat.apache.org/tomcat-7.0-doc/config/executor.html Tomat組件研究之ThreadPool - 老碼農的專欄 - CSDN博客https://blog.csdn.net/chen77716/article/details/344764 Tomcat中的線…

數學筆記3——導數3(隱函數的導數)

數學筆記3——導數3(隱函數的導數)冪函數的擴展形式f(x) xn的導數:f’(x) nxn-1,n是整數,該公式對f(x) xm/n, m,n 是整數同樣適用。推導過程:什么是隱函數引自知乎:“如果方程F(x,y)0能確定y…

機器學習13大規模數據集

大型數據集的學習(Learning With Large Datasets) 如果我們有一個低方差的模型, 增加數據集的規模可以幫助你獲得更好的結果。 我們應該怎樣應對一個有 100 萬條記錄的訓練集? 以線性回歸模型為例,每一次梯度下降…

svn認證失敗,解決方案

在svnserve.conf:文件中去掉authz-db authz前面的#號,會出現的認證失敗。 造成此原因的主要問題就是authz文件中權限沒有配置好。 例如: 創建prj1庫 svnadmin create prj1 修改配置文件 svnserve.conf: [general] anon-access read auth-access write…

Python機器學習庫sklearn的安裝

Python機器學習庫sklearn的安裝 scikit-learn是Python的一個開源機器學習模塊,它建立在NumPy,SciPy和matplotlib模塊之上能夠為用戶提供各種機器學習算法接口,可以讓用戶簡單、高效地進行數據挖掘和數據分析。 Ubuntu14.04系統上安裝 安裝num…

Java07多線程

14 多線程 操作系統的多任務(multitasking):在同一時刻運行多個程序的能力。 多線程在較低的層次上擴展了多任務的概念:一個程序同時執行多個任務。 通常,每一個任務稱為一個線程(tread)&…

MySQL字段拼接Concat

有時候,從數據庫中拿出的數據并不是我們想要的格式,比如,有以下的vendors表 如果,想以 name (location)的格式展現出來,那么就要用到MySQL的Concat了。 Concat()拼接串,即把多個串連接起來形成一個較長的串…

使用pycharm調用模塊后字體變灰 是什么原因呢?

使用pycharm調用模塊后字體變灰 是什么原因呢?點擊小燈泡提示出現以下內容:This inspection detects names that should resolve but dont. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases. Top-l…

操作系統01概述

第一章 概論 《Operating System Internals and Design Principles》 《Applied Operating System Concepts》 操作系統——裸機上的第一層軟件,它是對硬件系統功能的首次擴充,填補人與機器之間的鴻溝。 1.1 操作系統與計算機同在 1.2 對操作系統的…

CNN訓練模型 花卉

一、CNN訓練模型 模型尺寸分析:卷積層全都采用了補0,所以經過卷積層長和寬不變,只有深度加深。池化層全都沒有補0,所以經過池化層長和寬均減小,深度不變。http://download.tensorflow.org/example_images/flower_photo…

Linux re

正則表達式并不是一個工具程序,而是一個字符串處理的標準依據,如果想要以正則表達式的方式處理字符串,就得使用支持正則表達式的工具,例如grep、vi、sed、asw等。 注意:ls不支持正則表達式。 grep 正則表達式: 注意gr…

操作系統02進程管理Process_Description_and_Control

作業的基本概念:用戶再一次計算過程中或一次事務處理過程中,要求計算機系統所做的工作的集合。 包含多個程序、多個數據、作業控制說明書 系統調用時操作系統提供給編程人員的唯一接口。 1、文件操作類; 2、進程控制類; 3、資…

藍橋杯 方格填數(全排列+圖形補齊)

方格填數 如下的10個格子 填入0~9的數字,同一數字不能重復填。要求:連續的兩個數字不能相鄰。(左右、上下、對角都算相鄰) 一共有多少種可能的填數方案? 請填寫表示方案數目的整數。注意:你提交的應該是一個…

操作系統03進程管理Process_Scheduling

2 Process Scheduling >Type of scheduling >Scheduling Criteria (準則) >Scheduling Algorithm >Real-Time Scheduling (嵌入式系統) 2.1 Learning Objectives By the end of this lecture you should be able to Explain what is Response Time 響應時間-…

花卉分類CNN

tensorflow升級到1.0之后,增加了一些高級模塊: 如tf.layers, tf.metrics, 和tf.losses,使得代碼稍微有些簡化。 任務:花卉分類 版本:tensorflow 1.3 數據:http://download.tensorflow.org/example_images/f…