原创 線性代數之——正定矩陣

這部分我們關注有正特徵值的對稱矩陣。如果對稱性使得一個矩陣重要,那麼所有特徵值大於零這個額外屬性則讓這個矩陣真正特殊。但我們這裏的特殊並不是稀少,事實上在各種應用中具有正特徵值的對稱矩陣非常常見,它們被稱作正定矩陣。 我們可以

原创 LeetCode 409——最長迴文串

1. 題目 2. 解答 我們先來看一看回文子串的規律,如果迴文子串的長度爲偶數,那麼其中所有的每個元素都出現了偶數次;如果迴文子串的長度爲奇數,那麼有一個元素出現了奇數次而其餘每個元素都出現了偶數次。 所以我們需要做的就是遍歷一

原创 拼多多學霸批算法工程師在線筆試 20190728 場

1. 題目一 給定兩個數組 A 和 B,其中數組 A 是幾乎嚴格升序排列的,幾乎的定義是隻需改變其中一個數,即可滿足完全升序排列。你的任務是從 A 中找到這個數組,並從數組 B 中選取一個數將其代替,使得 A 是嚴格升序排列的,

原创 線性代數之——圖和網絡

1. 圖 一個圖由一系列節點以及連接它們的邊組成,關聯矩陣(incidence matrix)則告訴我們 nnn 個頂點是怎麼被 mmm 條邊連接的。關聯矩陣中的每個元素都是 0,1 或者 -1,在消元過程中這也依然成立,所有的主

原创 動態規劃之——萊文斯坦距離和最長公共子序列

1. 如何衡量字符串的相似性 如何量化兩個字符串之間的相似性呢?我們可以用編輯距離,也就是將一個字符串通過增、刪、替換字符轉化成另一個字符串需要的最少編輯次數。編輯距離越小,說明兩個字符串越相似。 其中,萊文斯坦距離允許增、刪和替

原创 CondenseNet: An Efficient DenseNet using Learned Group Convolutions

1. 摘要 作者提出了一個前所未有高效的新奇網絡結構,稱之爲 CondenseNet,該結構結合了密集連接性和可學習的分組卷積模塊。 密集連接性有利於網絡中的特徵複用,而可學習的分組卷積模塊則可以移除多餘的特徵複用之間的連接

原创 線性代數之——線性變換及對應矩陣

1. 線性變換的概念 當一個矩陣 AAA 乘以一個向量 v\boldsymbol vv 時,它將 v\boldsymbol vv 變換到另一個向量 AvA\boldsymbol vAv。進來的是 v\boldsymbol vv,出

原创 線性代數之——SVD 分解

SVD 分解是線性代數的一大亮點。 1. SVD 分解 AAA 是任意的 m×nm×nm×n 矩陣,它的秩爲 rrr,我們要對其進行對角化,但不是通過 S−1ASS^{-1}A SS−1AS。SSS 中的特徵向量有三個大問題:

原创 線性代數之——對角化和僞逆

這部分我們通過選擇更好的基底來產生更好的矩陣。當我們的目標是對角化矩陣時,一個選擇可以是一組特徵向量基底,另外一個選擇可以是兩組基底,輸入基底和輸出基底是不一樣的。這些左右奇異向量是矩陣四個基本子空間中標準正交的基向量,它們來自於

原创 ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design

1. 摘要 最近,神經網絡的架構設計都是基於計算複雜度的間接度量,比如 FLOPs。然而,直接的度量比如運行速度,其實也會依賴於內存訪問和平臺特性等其它因素。 因此本文建議直接在目標平臺上用直接度量進行測試。基於一系列控制條

原创 線性代數之——馬爾科夫矩陣

這一部分我們關注正的矩陣,矩陣中的每個元素都大於零。一個重要的事實:最大的特徵值是正的實數,其對應的特徵向量也如是。最大的特徵值控制着矩陣 AAA 的乘方。 假設我們用 AAA 連續乘以一個正的向量 u0=(a,1−a)\bol

原创 LeetCode 516——最長迴文子序列

1. 題目 2. 解答 與最長迴文子串類似,我們可以用動態規劃來求解這個問題,只不過這裏的子序列可以不連續。我們定義狀態 state[i][j] 表示子串 s[i, j] 的最長迴文子序列長度,那麼狀態轉移方程爲: state[

原创 線性代數之——基變換矩陣

1. 恆等變換 現在讓我們來找到這個特殊無聊的變換 T(v)=vT(\boldsymbol v)=\boldsymbol vT(v)=v 對應的矩陣。這個恆等變換什麼都沒有做,對應的矩陣是恆等矩陣,如果輸出的基和輸入的基一樣的話。

原创 線性代數之——複數矩陣

爲了完整地展示線性代數,我們必須包含複數。即使矩陣是實的,特徵值和特徵向量也經常會是複數。 1. 虛數回顧 虛數由實部和虛部組成,虛數相加時實部和實部相加,虛部和虛部相加,虛數相乘時則利用 i2=−1i^2=-1i2=−1。 在

原创 LeetCode 300——最長上升子序列

1. 題目 2. 解答 2.1. 動態規劃 我們定義狀態 state[i] 表示以 nums[i] 爲結尾元素的最長上升子序列的長度,那麼狀態轉移方程爲: state[i]=max(state[j]+1) 如果 nums[i]>