国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

主成分分析法(PCA)及MATLAB實現(xiàn)

這篇具有很好參考價值的文章主要介紹了主成分分析法(PCA)及MATLAB實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1. 主成分分析概念:

?2. 主成分分析法步驟:

第一步:對所有特征進行中心化:去均值

第二步:求協(xié)方差矩陣C

第三步:求協(xié)方差矩陣C的特征值?編輯和相對應(yīng)的特征向量?編輯

第四步:將原始特征投影到選取的特征向量上,得到降維后的新K維特征

?3. 主成分分析法MATLAB實現(xiàn):


1. 主成分分析概念:

????????主成分分析算法(PCA)是最常用的線性降維方法,它的目標是通過某種線性投影,將高維的數(shù)據(jù)映射到低維的空間中,并期望在所投影的維度上數(shù)據(jù)的信息量最大(方差最大),以此使用較少的數(shù)據(jù)維度,同時保留住較多的原數(shù)據(jù)點的特性。一般來說,當研究的問題涉及到多變量且變量之間存在很強的相關(guān)性時,我們可考慮使用主成分分析的方法來對數(shù)據(jù)進行簡化。

降維具有的優(yōu)點:

  • 使得數(shù)據(jù)集更易使用
  • 降低算法的計算開銷
  • 去除噪聲
  • 使得結(jié)果容易理解

????????假設(shè)有n個樣本,p個指標,則可構(gòu)成n*p的樣本矩陣x:

matlab主成分分析降維,matlab,開發(fā)語言,算法

?例如:此圖中有10個樣本,2個指標,可以構(gòu)成10*2的樣本矩陣

matlab主成分分析降維,matlab,開發(fā)語言,算法

?2. 主成分分析法步驟:

第一步:對所有特征進行中心化:去均值

?? 求每一個特征的平均值(按列求取),然后對于所有的樣本,每一個特征都減去自身的均值。

matlab主成分分析降維,matlab,開發(fā)語言,算法

?matlab主成分分析降維,matlab,開發(fā)語言,算法

matlab主成分分析降維,matlab,開發(fā)語言,算法

第二步:求協(xié)方差矩陣C

??????? 求協(xié)方差矩陣

????????

matlab主成分分析降維,matlab,開發(fā)語言,算法

第三步:求協(xié)方差矩陣C的特征值和相對應(yīng)的特征向量

??????? 求協(xié)方差矩陣C的特征值和相對應(yīng)的特征向量

????????特征值 λ 會有 N個,每一個 λ? 對應(yīng)一個特征向量 u,將特征值 λ 按照從大到小的順序排序,選擇最大的前k,并將其相對應(yīng)的k個特征向量拿出來,我們會得到一組 { ( λ 1 , u 1 ) , ( λ 2 , u 2 ) , . . . , ( λ k , u k ) } 。本例中原始特征只有2維,我在選取 λ 的時候,令 k = 1,選擇最大的 λ 1 和 其 對 應(yīng) 的 u 1 和其對應(yīng)的u1?。

第四步:將原始特征投影到選取的特征向量上,得到降維后的新K維特征

選取最大的前k個特征值和相對應(yīng)的特征向量,并進行投影的過程,就是降維的過程。對于每一個樣本 ,原來的特征是 ,投影之后的新特征是? ,新特征的計算公式如下:

?主成分分析法的原理分析在此處不涉及,感興趣的友友可以看這一篇文章:

PCA:詳細解釋主成分分析_lanyuelvyun的博客-CSDN博客_pca

?3. 主成分分析法MATLAB實現(xiàn):

data1部分原數(shù)據(jù):

省份 食品 衣著 家庭設(shè)備 醫(yī)療 交通 娛樂 居住 雜項
北京 2959.19 730.79 749.41 513.34 467.87 1141.82 478.42 457.64
天津 2459.77 495.47 697.33 302.87 284.19 735.97 570.84 305.08
河北 1495.63 515.9 362.37 285.32 272.95 540.58 364.91 188.63
山西 1406.33 477.77 290.15 208.57 201.5 414.72 281.84 212.1
內(nèi)蒙古 1303.97 524.29 254.83 192.17 249.81 463.09 287.87 192.96
遼寧 1730.84 553.9 246.91 279.81 239.18 445.2 330.24 163.86
吉林 1561.86 492.42 200.49 218.36 220.69 459.62 360.48 147.76
黑龍江 1410.11 510.71 211.88 277.11 224.65 376.82 317.61 152.85
上海 3712.31 550.74 893.37 346.93 527 1034.98 720.33 462.03
江蘇 2207.58 449.37 572.4 211.92 302.09 585.23 429.77 252.54
浙江 2629.16 557.32 689.73 435.69 514.66 795.87 575.76 323.36
安徽 1844.78 430.29 271.28 126.33 250.56 513.18 314 151.39
福建 2709.46 428.11 334.12 160.77 405.14 461.67 535.13 232.29
... ... ... ... ... ... ... ... ...
clear;clc
load data1.mat   % 主成分聚類
[n,p] = size(x);  % n是樣本個數(shù),p是指標個數(shù)

R = corrcoef(x);
disp('樣本相關(guān)系數(shù)矩陣為:')
disp(R)
[V,D] = eig(R);  % V 特征向量矩陣  D 特征值構(gòu)成的對角矩陣

%%計算主成分貢獻率和累計貢獻率
lambda = diag(D);  % diag函數(shù)用于得到一個矩陣的主對角線元素值(返回的是列向量)
lambda = lambda(end:-1:1);  % 因為lambda向量是從小大到排序的,我們將其調(diào)個頭
contribution_rate = lambda / sum(lambda);  % 計算貢獻率
cum_contribution_rate = cumsum(lambda)/ sum(lambda);   % 計算累計貢獻率  cumsum是求累加值的函數(shù)
disp('特征值為:')
disp(lambda')  % 轉(zhuǎn)置為行向量,方便展示
disp('貢獻率為:')
disp(contribution_rate')
disp('累計貢獻率為:')
disp(cum_contribution_rate')
disp('與特征值對應(yīng)的特征向量矩陣為:')
% 注意:這里的特征向量要和特征值一一對應(yīng),之前特征值相當于顛倒過來了,因此特征向量的各列需要顛倒過來
%  rot90函數(shù)可以使一個矩陣逆時針旋轉(zhuǎn)90度,然后再轉(zhuǎn)置,就可以實現(xiàn)將矩陣的列顛倒的效果
V=rot90(V)';
disp(V)


%% 計算我們所需要的主成分的值
m =input('請輸入需要保存的主成分的個數(shù):  ');
F = zeros(n,m);  %初始化保存主成分的矩陣(每一列是一個主成分)
for i = 1:m
    ai = V(:,i)';   % 將第i個特征向量取出,并轉(zhuǎn)置為行向量
    Ai = repmat(ai,n,1);   % 將這個行向量重復n次,構(gòu)成一個n*p的矩陣
    F(:, i) = sum(Ai .* X, 2);  % 注意,對標準化的數(shù)據(jù)求了權(quán)重后要計算每一行的和
end

參考:清風數(shù)學建模文章來源地址http://www.zghlxwxcb.cn/news/detail-531107.html

到了這里,關(guān)于主成分分析法(PCA)及MATLAB實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 主成分分析法(PCA)的理解(附python代碼案例)

    主成分分析法(PCA)的理解(附python代碼案例)

    最近在文獻調(diào)研,發(fā)現(xiàn)PCA基本都有用到,回憶起了機器學習和數(shù)學建模,總之還是要好好學學捏。 定義 :主成分分析(Principal Component Analysis, PCA)是一種統(tǒng)計方法。通過正交變換將一組可能存在相關(guān)性的變量轉(zhuǎn)換為一組線性不相關(guān)的變量,轉(zhuǎn)換后的這組變量叫主成分。 換一

    2024年02月03日
    瀏覽(21)
  • 數(shù)據(jù)分析案例-基于PCA主成分分析法對葡萄酒數(shù)據(jù)進行分析

    數(shù)據(jù)分析案例-基于PCA主成分分析法對葡萄酒數(shù)據(jù)進行分析

    ???♂? 個人主頁:@艾派森的個人主頁 ???作者簡介:Python學習者 ?? 希望大家多多支持,我們一起進步!?? 如果文章對你有幫助的話, 歡迎評論 ??點贊???? 收藏 ??加關(guān)注+ 目錄 1.項目背景 2.項目簡介 2.1分析目標 2.2數(shù)據(jù)集介紹 2.3技術(shù)工具 3.算法理論 4.實驗過程

    2024年02月03日
    瀏覽(27)
  • 多元回歸預測 | Matlab主成分分析PCA降維,BP神經(jīng)網(wǎng)絡(luò)回歸預測。PCA-BP回歸預測模型

    多元回歸預測 | Matlab主成分分析PCA降維,BP神經(jīng)網(wǎng)絡(luò)回歸預測。PCA-BP回歸預測模型

    效果一覽 文章概述 多元回歸預測 | Matlab主成分分析PCA降維,BP神經(jīng)網(wǎng)絡(luò)回歸預測。PCA-BP回歸預測模型 評價指標包括:MAE、RMSE和R2等,代碼質(zhì)量極高,方便學習和替換數(shù)據(jù)。要求2018版本及以上。 部分源碼

    2024年02月13日
    瀏覽(18)
  • 層次分析法(matlab實現(xiàn))

    層次分析法(matlab實現(xiàn))

    ? ? ? ?在決策理論中,層次分析法是一種以 數(shù)學 和 心理學 為基礎(chǔ),組織和分析復雜決策的結(jié)構(gòu)化技術(shù),它代表了一種 量化決策標準權(quán)重 的準確方法,通過成對比較,利用個別專家的經(jīng)驗來估計因素的相對大小 ? ? ? ?在很多情況下,我們對事物的評價,應(yīng)該多維度的進

    2024年02月09日
    瀏覽(16)
  • 【數(shù)學建模學習】matlab實現(xiàn)評價模型——層次分析法(AHP)

    【數(shù)學建模學習】matlab實現(xiàn)評價模型——層次分析法(AHP)

    目錄 1概述? 2算法實現(xiàn)流程 3實例 ?4matlab實現(xiàn)層次分析法 5計算結(jié)果 層次分析法,簡稱AHP,是評價模型中的一種算法,指將與決策總是有關(guān)的元素分解成目標、準則、方案等層次,在此基礎(chǔ)之上進行定性和定量分析的決策方法。層次分析法的缺陷在于判斷矩陣是主觀決定的,

    2024年02月04日
    瀏覽(20)
  • 數(shù)學建?!獙哟畏治龇捌鋗atlab語法,函數(shù)和代碼實現(xiàn)

    數(shù)學建模———層次分析法及其matlab語法,函數(shù)和代碼實現(xiàn)

    層次分析法思想登場 建模比賽中最基礎(chǔ)的模型之一,其主要用于解決評價類問題(例如:選擇那種方案最好,哪位運動員或者員工表現(xiàn)的更優(yōu)秀。) 評價類問題字眼: 評價的目標是什么? 達到這個目標有那幾種方案? 評價準則或指標是什么? 確定權(quán)重的方方法——分而治

    2024年02月15日
    瀏覽(31)
  • 【機器學習】主成分分析(PCA)算法及Matlab實現(xiàn)

    【機器學習】主成分分析(PCA)算法及Matlab實現(xiàn)

    【問題引入】 在許多領(lǐng)域的研究與應(yīng)用中,往往需要對反映事物的多個變量進行大量的觀測,收集大量數(shù)據(jù)以便進行分析尋找規(guī)律。多變量大樣本無疑會為研究和應(yīng)用提供了豐富的信息,但也在一定程度上增加了數(shù)據(jù)采集的工作量,更重要的是在多數(shù)情況下,許多變量之間可

    2024年02月04日
    瀏覽(33)
  • 層次分析法(MATLAB)

    層次分析法(MATLAB)

    對之前的學習進行總結(jié),整個比賽下來好像就用到了這個方法,最后也不知道對不對,反正最后還有點趕,就是很懵的那種,對于層次分析話的還是有點了解了,由于是純小白,有錯誤的地方希望各位大佬能夠指出。 目錄 數(shù)據(jù)提取 歸一化處理 判斷矩陣 一致性檢驗 ?算術(shù)平

    2024年02月12日
    瀏覽(18)
  • 【數(shù)據(jù)降維-第2篇】核主成分分析(KPCA)快速理解,及MATLAB實現(xiàn)

    【數(shù)據(jù)降維-第2篇】核主成分分析(KPCA)快速理解,及MATLAB實現(xiàn)

    一篇介紹了PCA算法的快速理解和應(yīng)用,本章講一下KPCA。 KPCA方法與PCA方法一樣,是有著扎實的理論基礎(chǔ)的,相關(guān)理論在論文上以及網(wǎng)絡(luò)上可以找到大量的材料,所以這篇文章還是聚焦在方法的快速理解以及應(yīng)用上,此外還會對同學們可能比較關(guān)注的參數(shù)設(shè)置方式進行說明,從

    2024年02月05日
    瀏覽(28)
  • 數(shù)學建模之層次分析法(含MATLAB代碼)

    數(shù)學建模之層次分析法(含MATLAB代碼)

    層次分析法的基本原理與步驟 人們在進行社會的、經(jīng)濟的以及科學管理領(lǐng)域問題的系統(tǒng)分析中,面臨的常常是 一個由相互關(guān)聯(lián)、相互制約的眾多因素構(gòu)成的復雜而往往缺少定量數(shù)據(jù)的系統(tǒng)。層次 分析法為這類問題的決策和排序提供了一種新的、簡潔而實用的建模方法。 基本

    2024年02月01日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包