目錄
- 前文回顧
- 1.特征向量和特征值
- 2.矩陣與模型
- 3.內積和外積
- 4.向量的范數
- 5.正交矩陣
前文回顧
上一篇文章地址:鏈接
1.特征向量和特征值
在機器學習中,特征向量和特征值是用于描述數據集中的特征或變量之間關系的重要概念。它們在降維技術(如主成分分析)中起到關鍵作用,特征向量是一個非零向量,其方向在線性變換下保持不變,只發生縮放。它表示了數據變換后的新坐標系下的方向。特征值是與特征向量相關聯的數值,表示特征向量在對應的線性變換下的縮放因子。在降維中,我們可以使用特征向量和特征值來找到數據集中最顯著的特征,并將數據投影到這些特征上以減少維度。以下是計算特征向量和特征值的常用步驟為
假設我們有一個 m × n m \times n m×n的數據矩陣 X X X,其中每行代表一個樣本,每列代表一個特征。
- 計算數據矩陣 X X X的協方差矩陣 C C C:
C = 1 m ? 1 ( X ? X ˉ ) T ( X ? X ˉ ) C = \frac{1}{m - 1}(X - \bar{X})^T (X - \bar{X}) C=m?11?(X?Xˉ)T(X?Xˉ)
其中 X ˉ \bar{X} Xˉ是每個特征的均值 - 對協方差矩陣 C C C進行特征值分解:
C = V Λ V T C = V\Lambda V^T C=VΛVT
其中 V V V是特征向量組成的矩陣, Λ \Lambda Λ是由特征值組成的對角矩陣 - 對特征值進行排序,從最大到最小,同時對應調整特征向量的順序
- 選擇前 k k k個最大的特征值及其對應的特征向量,這些特征向量構成了降維后的新坐標系
- 將數據 X X X投影到新的坐標系中,得到降維后的數據矩陣 Y = X V reduced Y = XV_{\text{reduced}} Y=XVreduced?
其中 V reduced V_{\text{reduced}} Vreduced?是由前 k k k個特征向量組成的子矩陣
通過上述步驟,我們可以獲得降維后的數據矩陣 Y Y Y,其列數減少為 k k k。這樣可以減少冗余信息并保留數據的最重要方面,同時也能夠加速機器學習算法的訓練和提高模型的性能
2.矩陣與模型
在 linear regression 中,我們可以使用矩陣表示模型,其中特征矩陣(輸入)和目標向量(輸出)之間的線性關系可以用以下公式表示:
y = X w \mathbf{y} = \mathbf{Xw} y=Xw
其中, y \mathbf{y} y 是一個大小為 m × 1 m \times 1 m×1 的列向量,表示目標變量; X \mathbf{X} X 是一個大小為 m × ( n + 1 ) m \times (n + 1) m×(n+1) 的特征矩陣,每行代表一個樣本,包含 n n n 個特征以及一列全為 1 的常數列,用于表示截距項; w \mathbf{w} w 是一個大小為 ( n + 1 ) × 1 (n + 1) \times 1 (n+1)×1 的列向量,表示模型的參數(權重和截距),在 linear regression 中,我們的目標是找到最優的參數向量 w \mathbf{w} w,使得預測值 y ^ \hat{\mathbf{y}} y^? 與實際值 y \mathbf{y} y 之間的差異最小化。這通常通過最小化損失函數來實現。損失函數通常使用平方誤差(Sum of Squared Errors, SSE)來度量預測誤差的總和。它可以用以下公式表示:
L ( w ) = 1 2 m ( y ? X w ) T ( y ? X w ) L(\mathbf{w}) = \frac{1}{2m} (\mathbf{y} - \mathbf{Xw})^T (\mathbf{y} - \mathbf{Xw}) L(w)=2m1?(y?Xw)T(y?Xw)
其中, L ( w ) L(\mathbf{w}) L(w) 表示損失函數, 1 2 m \frac{1}{2m} 2m1? 是一個常數因子,用于簡化計算。
通過最小化損失函數,即求解以下優化問題:
min ? w L ( w ) \min_{\mathbf{w}} L(\mathbf{w}) wmin?L(w)
我們可以使用 linear algebra 中的方法來找到最優的參數解。通過對損失函數關于參數向量 w \mathbf{w} w 的梯度進行求解和令其為零,可以得到閉式解或者使用優化算法(如梯度下降)進行迭代求解,通過 linear algebra 的技術和求解方法,在 linear regression 中,我們可以更有效地擬合模型并找到最優的參數,以最小化預測誤差
3.內積和外積
-
內積(點積):給定兩個向量 a \boldsymbol{a} a和 b \boldsymbol{b} b,它們的內積表示為 a ? b \boldsymbol{a} \cdot \boldsymbol{b} a?b。內積的計算方法是將兩個向量對應位置上的元素相乘,并將乘積相加得到一個標量。內積滿足交換律和分配律,并且可以通過向量的長度和夾角的余弦來計算:
a ? b = ∣ a ∣ ∣ b ∣ cos ? ( θ ) \boldsymbol{a} \cdot \boldsymbol{b} = \vert\boldsymbol{a}\vert \vert\boldsymbol{b}\vert \cos(\theta) a?b=∣a∣∣b∣cos(θ)
其中 ∣ a ∣ \vert\boldsymbol{a}\vert ∣a∣和 ∣ b ∣ \vert\boldsymbol{b}\vert ∣b∣分別代表向量 a \boldsymbol{a} a和 b \boldsymbol{b} b的長度, θ \theta θ是兩個向量之間的夾角 -
外積(叉積):給定兩個三維向量 a \boldsymbol{a} a和 b \boldsymbol{b} b,它們的外積表示為 a × b \boldsymbol{a} \times \boldsymbol{b} a×b。外積的結果是一個新的向量,其方向垂直于原始向量所在的平面,并且大小等于該平面的面積與兩個向量長度的乘積。外積只適用于三維向量
在機器學習中,內積具有多種常見應用:
- 相似度度量:內積可以用來計算向量之間的相似度或相關性。例如,在推薦系統中,可以使用內積來計算用戶之間的相似度,以便為用戶提供個性化的推薦
- 特征之間的交互:在特征工程中,我們可以使用內積來表示兩個特征之間的交互作用。例如,在多項式回歸中,可以將高階特征表示為原始特征的內積
- 核方法:在支持向量機(SVM)等機器學習算法中,內積扮演著關鍵角色。通過選擇合適的核函數,我們可以基于內積來進行非線性分類,將數據映射到更高維的特征空間中
總而言之,內積在機器學習中具有廣泛的應用,包括相似度度量、特征交互和核方法等。它是許多機器學習算法中重要的數學概念和操作
4.向量的范數
向量的范數是一種用于衡量向量大小或長度的函數。在機器學習中,我們通常使用L1范數和L2范數進行正則化來控制模型的復雜度。L1范數(也稱為曼哈頓范數或稀疏范數)定義為向量中各個元素的絕對值之和。對于一個n維向量 x = ( x 1 , x 2 , … , x n ) \boldsymbol{x} = (x_1, x_2, \ldots, x_n) x=(x1?,x2?,…,xn?),它的L1范數表示為:
∥ x ∥ 1 = ∣ x 1 ∣ + ∣ x 2 ∣ + … + ∣ x n ∣ \|\boldsymbol{x}\|_1 = |x_1| + |x_2| + \ldots + |x_n| ∥x∥1?=∣x1?∣+∣x2?∣+…+∣xn?∣
在正則化中,L1范數可以促使模型參數稀疏化,即將一些參數的值設為零。因此,通過在損失函數中加上L1范數的懲罰項,可以傾向于產生更稀疏的模型,有助于特征選擇和降低過擬合的風險。L2范數(也稱為歐幾里得范數或嶺回歸的懲罰項)定義為向量各個元素的平方和的平方根。對于一個n維向量 x = ( x 1 , x 2 , … , x n ) \boldsymbol{x} = (x_1, x_2, \ldots, x_n) x=(x1?,x2?,…,xn?),它的L2范數表示為:
∥ x ∥ 2 = x 1 2 + x 2 2 + … + x n 2 \|\boldsymbol{x}\|_2 = \sqrt{x_1^2 + x_2^2 + \ldots + x_n^2} ∥x∥2?=x12?+x22?+…+xn2??
在正則化中,L2范數可以控制模型的權重衰減,使得參數的值趨向于較小的值。通過在損失函數中加上L2范數的懲罰項,可以防止模型過擬合,并促使模型參數分布在更集中的區域,有助于提高模型的泛化能力。總結起來,L1范數在正則化中促使模型參數稀疏化,而L2范數則控制參數的大小并減少參數之間的相關性,從而幫助避免過擬合。根據問題的不同,選擇適當的范數進行正則化可以改善模型的性能和泛化能力
5.正交矩陣
正交矩陣是一個方陣,其列向量(或行向量)彼此正交(垂直),并且每個向量的長度為1。換句話說,正交矩陣的轉置矩陣等于其逆矩陣。給定一個 n × n n \times n n×n的矩陣 Q \boldsymbol{Q} Q,如果滿足以下條件,則稱其為正交矩陣(其中 I \boldsymbol{I} I是單位矩陣):
Q T Q = Q Q T = I \boldsymbol{Q}^T \boldsymbol{Q} = \boldsymbol{Q} \boldsymbol{Q}^T = \boldsymbol{I} QTQ=QQT=I
在旋轉和變換中,正交矩陣發揮重要作用。由于正交矩陣的特性,它們保持向量的長度不變,并保持向量之間的夾角不變。具體來說,正交矩陣可以在幾何上表示旋轉、鏡像和反射等線性變換。
應用:
- 旋轉變換:正交矩陣可以通過乘以一個向量來實現旋轉操作。通過將向量乘以旋轉矩陣,我們可以將向量繞原點旋轉到新的位置,而不改變向量的長度- 坐標系變換:正交矩陣可以用于坐標系之間的變換。通過乘以一個正交矩陣,我們可以將一個坐標系中的向量映射到另一個坐標系中
- 正交化:正交矩陣還可以用于將一組線性無關的向量正交化。通過對向量組成的矩陣進行正交分解,我們可以得到一個正交矩陣和一個對角矩陣,從而使得向量之間相互正交
- 傅里葉變換:在信號處理中,正交矩陣(如傅里葉矩陣)用于將信號從時域轉換到頻域。傅里葉變換是一種正交變換,它將信號分解為一組正交基函數
總結來說,正交矩陣在旋轉和變換中具有重要的應用。它們保持向量的長度和夾角不變,可用于實現旋轉、鏡像、反射等幾何操作,并且在信號處理中起著關鍵作用