Python求解特徵向量和拉普拉斯矩陣

2020-12-11 Python之王

學過線性代數和深度學習先關的一定知道特徵向量和拉普拉斯矩陣,這兩者是很多模型的基礎,有著很重要的地位,那用python要怎麼實現呢?

numpy和scipy兩個庫中模塊中都提供了線性代數的庫linalg,scipy更全面些。

特徵值和特徵向量

importscipyassc

#返回特徵值,按照升序排列,num定義返回的個數

defeignvalues(matrix, num):

returnsc.linalg.eigh(matrix, eigvalues(0, num-1))[0]

#返回特徵向量

defeighvectors(matrix):

returnsc.linalg.eigh(matrix, eigvalues(0, num-1))[1]

調用實例

#創建一個對角矩陣,很容易得知它的特徵值是1,2,3

matrix = sc.diag([1,2,3])

#調用特徵值函數,獲取最小的特徵值

minValue = eighvalues(matrix, 1)

#調用特徵向量函數,獲取所有的特徵向量

vectors = eighvectors(matrix, 3)

拉普拉斯矩陣

很多圖模型中都涉及到拉普拉斯矩陣,它有三種形式,這次給出的代碼是D-A(度矩陣-鄰接矩陣)和第二種標準化的形式:

#laplacian矩陣

import numpy as np

def unnormalized_laplacian(adj_matrix):

# 先求度矩陣

R = np.sum(adj_matrix, axis=1)

degreeMatrix = np.diag(R)

return degreeMatrix - adj_matrix

def normalized_laplacian(adj_matrix):

R = np.sum(adj_matrix, axis=1)

R_sqrt = 1/np.sqrt(R)

D_sqrt = np.diag(R_sqrt)

I = np.eye(adj_matrix.shape[0])

return I - D_sqrt * adj_matrix * D_sqrt

相關焦點

  • 矩陣的瑰寶:深入挖掘特徵值和特徵向量,直觀地看抽象概念
    特徵值和特徵向量可能看起來是很抽象的概念,但它們在你周圍的世界中扮演著不可或缺的角色。因為一切都是由數據定義的,矩陣是處理數據的最佳工具,而它們又是矩陣中的瑰寶,可以揭示矩陣的性質。理解特徵值和特徵向量是什麼,如何推導它們,以及它們的應用,對于欣賞矩陣之美,以及更廣泛地理解數據和數學在世界中扮演的角色,都是不可或缺的。
  • 數學學習如此容易:用Python計算特徵值和特徵向量
    ,那麼這樣的數λ稱為矩陣A特徵值,非零向量x稱為A的對應於特徵值λ的特徵向量。特徵值 是方程式Ax=ax的標量解(scalar solutions),其中A是一個二維矩陣,而x是一維向量。 特徵向量 實際上就是表示特徵值的向量。提示:特徵值和特徵向量都是基本的數學概念,並且常用於一些重要的算法中,如 主成分分析(PCA) 算法。
  • 機器學習第一步,從向量和矩陣開始!
    就圖像識別而言,模型為了正確識別狗,需要掌握的是每一張含有狗的圖片數據中有何特徵點,這些特徵點與貓、與人、與桌椅板凳的特點有何不同,從而讓圖中的狗成為計算機眼中的狗在這樣的運算中,計算機是邏輯的主宰者。計算機在圖片的特徵參數提取中,學會了頭圓、有深色鼻頭、尖耳朵、可伸縮爪子的物體是貓,而吐舌頭、塌耳朵、長臉的是狗。
  • 哈工大碩士生用Python實現11種經典數據降維算法,原始碼庫已開放
    >求解矩陣 Xnew 的協方差矩陣,並將其記為 Cov;計算協方差矩陣 COv 的特徵值和相應的特徵向量;將特徵值按照從大到小的排序,選擇其中最大的 k 個,然後將其對應的 k 個特徵向量分別作為列向量組成特徵向量矩陣 Wnxk;計算 XnewW
  • 「特徵向量新公式」不能改變數學,但也許能改變你的解題方法
    知道矩陣、特徵值、特徵向量概念。陶哲軒的這個公式就是針對埃爾米特矩陣求特徵值的公式。什麼不知道什麼是埃爾米特矩陣?不慌,這個類型的矩陣可能不是每一個學習線性代數的同學都會學,但是另外一個概念一定會學:實對稱矩陣——矩陣裡每個變量都是實數,且其轉置等於本身的方陣。實對稱陣是一種特殊埃爾米特矩陣,作為考研黨的你,就把這個公式結果認為是針對是對稱陣的,這樣不會影響你品味這個公式。
  • 哈工大碩士生用 Python 實現了 11 種經典數據降維算法,原始碼庫已...
    因此,最大方差即使得投影數據的方差被最大化,在這過程中,我們需要找到數據集 Xmxn 的最佳的投影空間 Wnxk、協方差矩陣等,其算法流程為:算法輸入:數據集 Xmxn;按列計算數據集 X 的均值 Xmean,然後令 Xnew=X−Xmean;求解矩陣 Xnew 的協方差矩陣,並將其記為 Cov;
  • 教程| 從特徵分解到協方差矩陣:詳細剖析和實現PCA算法
    機器之心編譯參與:蔣思源本文先簡要明了地介紹了特徵向量和其與矩陣的關係,然後再以其為基礎解釋協方差矩陣和主成分分析法的基本概念,最後我們結合協方差矩陣和主成分分析法實現數據降維。本文不僅僅是從理論上闡述各種重要概念,同時最後還一步步使用 Python 實現數據降維。首先本文的特徵向量是數學概念上的特徵向量,並不是指由輸入特徵值所組成的向量。
  • 資源|用Python和NumPy學習《深度學習》中的線性代數基礎
    本文系巴黎高等師範學院在讀博士 Hadrien Jean 的一篇基礎學習博客,其目的是幫助初學者/高級初學者基於深度學習和機器學習來掌握線性代數的概念。掌握這些技能可以提高你理解和應用各種數據科學算法的能力。
  • ,用幾何思維理解矩陣的「逆」和向量的「點積」
    面對線性代數中複雜的概念和公式,如果我們從幾何的角度去審視它們,就好比我們擁有了上帝視角,可以從大局上掌控它們,也可以更深入的理解它們的內涵。逆先來看矩陣的逆。這裡我們不會引入複雜的公式去介紹如何求矩陣的逆,我們要做的是,先深入理解它,然後再去計算它。
  • OpenCV-Python 光流|四十八
    它是2D向量場,其中每個向量都是位移向量,表示點從第一幀到第二幀的運動。考慮下面的圖片(圖片提供:Wikipedia關於Optical Flow的文章)。它顯示了一個球連續5幀運動。箭頭顯示其位移向量。
  • 2019考研數學:淺析矩陣的秩和向量組的秩的區別與聯繫
    在線性代數中,關於秩有兩大類:矩陣的秩以及向量組的秩,這兩個概念之間是有區別和聯繫的。首先,我們來看一下它們各自的概念。矩陣的秩:矩陣A最高階非零子式的階數稱之為矩陣A的秩,記為r(A),其中r(A)不超過矩陣行數和列數的最小值。
  • 教程| 基礎入門:深度學習矩陣運算的概念和代碼實現
    在我們學習機器學習時,常常遇到需要使用矩陣提高計算效率的時候。如在使用批量梯度下降迭代求最優解時,正規方程會採用更簡潔的矩陣形式提供權重的解析解法。而如果不了解矩陣的運算法則及意義,甚至我們都很難去理解一些如矩陣因子分解法和反向傳播算法之類的基本概念。同時由於特徵和權重都以向量儲存,那如果我們不了解矩陣運算,代碼實現將變得十分艱難。
  • 清華學霸筆記——Python下的矩陣定義(下)
    除了上集說到的方陣,子矩陣,對角矩陣,與單位矩陣之外,接著要進一步介紹一些常用且方便的矩陣,包含了以下幾種矩陣類型:· 純量矩陣· 三角矩陣· 共軛矩陣· 對稱矩陣· 正交矩陣當然矩陣的類型遠不止如此,而這幾種矩陣在了解的時候不需要太多先驗知識,因此才能在一開始率先登場!
  • 一日一技:用Python程序求解二次方程式
    用Python程序求解二次方程式 當我們已給出係數a,b和c時,用python程序計算二次方程的根值。 另外,說明一下,下面的示例,需要你有一定的python基礎,不然對於新手來說,會難以理解。 因此,這篇文章,適合於有一定python學習基礎的小夥伴。
  • 適用於特殊類型自然語言分類的自適應特徵譜神經網絡
    因此本文設計了自適應特徵譜神經網絡來完成文本分類任務,它可以自適應地選擇對分類有效的特徵,並組成「最優特徵譜」。 2 數據預處理 在機器學習算法中,輸入的數據通常是數值型的,因此需要將文字型文本特徵轉換為數值型數據特徵,將輸入模型的文本變成向量,從而確保模型可以進行計算和分類。
  • 2012年考研數學線性代數重點內容和典型題型
    行列式在整張試卷中所佔比例不是很大,一般以填空題、選擇題為主,它是必考內容,不只是考察行列式的概念、性質、運算,與行列式有關的考題也不少,例如方陣的行列式、逆矩陣、向量組的線性相關性、矩陣的秩、線性方程組、特徵值、正定二次型與正定矩陣等問題中都會涉及到行列式.如果試卷中沒有獨立的行列式的試題,必然會在其他章、節的試題中得以體現.行列式的重點內容是掌握計算行列式的方法,計算行列式的主要方法是降階法
  • 機器之心最幹的文章:機器學習中的矩陣、向量求導
    因此,本教程的符號體系有可能與其他書籍或講義不一致,求導結果也可能不一致 (例如相差一次矩陣轉置,或者是結果矩陣是否平鋪成向量等),使用者需自行注意。另外,本教程中有很多筆者自己的評論,例如關於變形的技巧、如何記憶公式、如何理解其他的教程中給出的和本教程中形式不同的結果等。
  • 我用Python進行情感分析,讓程式設計師和女神牽手成功
    先用電影評論來做情感分析,主要包括下面幾個主要內容(看到最後哦):1、準備文本數據2、基於文本文檔來構建特徵向量3、訓練機器學習模型來區分電影評論的正面評論和負面評論(對你的女神同樣適用哦~~)4、使用外存學習和在線學習算法來處理大數據