bcjohn's blog
矩陣對角化
發布於: 2025-10-07 更新於: 2025-11-03 分類於: 線性代數

定義

對於 $n \times n$ 矩陣 $A$,如果存在 可逆矩陣 $P$ 和 對角矩陣 $D$,使得:

$$A = P D P^{-1}$$

則稱矩陣 $A$ 是 可對角化的(diagonalizable),這個過程稱為 對角化(diagonalization)

閱讀更多
正交矩陣
發布於: 2025-10-06 更新於: 2025-12-07 分類於: 線性代數

定義

對於 $n \times n$ 實矩陣 $Q$,如果滿足:

$$Q^T Q = Q Q^T = I$$

其中 $I$ 是 $n \times n$ 單位矩陣,則稱 $Q$ 為正交矩陣

例子

$$ Q_1 = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} $$ $$ Q_2 = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} $$ $$ Q_3 = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{bmatrix} $$
閱讀更多
轉置矩陣
發布於: 2025-09-27 更新於: 2025-09-27 分類於: 線性代數

定義

對於矩陣 $A$,其轉置矩陣表示為 $A^T$,其中:

$$A_{ij}^T = A_{ji}$$

換句話說,原矩陣的第 $i$ 行第 $j$ 列元素,在轉置矩陣中變成第 $j$ 行第 $i$ 列元素

例子

$$\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}^T = \begin{bmatrix} 1 & 3 \\ 2 & 4 \end{bmatrix}$$ $$\begin{bmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{bmatrix}^T = \begin{bmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \end{bmatrix}$$
閱讀更多
矩陣中的軸元與秩
發布於: 2025-09-24 更新於: 2025-11-03 分類於: 線性代數

定義

在矩陣中,軸元(pivot) 是指每列中的第一個非零元素

考慮以下矩陣:

$$A = \begin{bmatrix} 2 & 1 & 3 \\ 0 & 4 & 1 \\ 0 & 0 & 5 \end{bmatrix}$$

在這個矩陣中:

  • 第 1 列的軸元是 $a_{11} = 2$(位置 (1,1))
  • 第 2 列的軸元是 $a_{22} = 4$(位置 (2,2))
  • 第 3 列的軸元是 $a_{33} = 5$(位置 (3,3))

因此對於矩陣 $A$ 來說有三個軸元分別是 $2, 4, 5$

閱讀更多
特徵向量與特徵值
發布於: 2025-09-20 更新於: 2025-12-26 分類於: 線性代數

前言

特徵向量(Eigenvector)特徵值(Eigenvalue) 是線性代數中最基礎的概念,這篇文章複習這兩者的計算方式

定義

給定一個 $n \times n$ 的方陣 $A$,如果存在一個非零向量 $\mathbf{x}$,使得:

$$A\mathbf{x} = \lambda \mathbf{x}$$

其中 $\lambda$ 是一個純量,則稱:

  • $\mathbf{x}$ 為矩陣 $A$ 的 特徵向量
  • $\lambda$ 為矩陣 $A$ 的 特徵值
閱讀更多
奇異矩陣 - Singular matrix
發布於: 2025-09-20 更新於: 2025-09-29 分類於: 線性代數

定義

一個方陣 $A$ 如果 行列式為 0

$$
\det(A) = 0
$$

那麼這個矩陣就是 奇異矩陣 (Singular matrix)

反之,如果 $\det(A) \neq 0$,則稱為 非奇異矩陣 (invertible matrix)

閱讀更多
四元數旋轉矩陣推導:從四元數到 3D 旋轉矩陣
發布於: 2025-09-06 更新於: 2025-09-06 分類於: Math

簡介

為了要了解如何用四元數推導出 3D 旋轉的公式,我找到了這篇文章 - 四元数与三维旋转 寫的相當詳細,這篇文章主要是希望跟著他一步步了解其中的推導過程,以後才不會對 3D 旋轉的矩陣公式為什麼是這樣寫而感到困惑

閱讀更多
Detecting Noise in Canvas Fingerprinting
發布於: 2025-08-15 更新於: 2025-08-15 分類於: Tech sharing

Introduction

Canvas fingerprinting is a powerful technique for detecting fraudsters and bots. This presentation explores how attackers modify canvas fingerprints to evade detection and the methods we can use to identify these manipulations.

What is Canvas Fingerprinting?

Canvas fingerprinting uses the HTML canvas API to draw invisible shapes and text that create unique identifiers based on your:

  • Browser

  • Operating system

  • GPU

  • Installed fonts

These fingerprints are stable and unique, making them valuable for tracking fraudsters even if they delete cookies.

For more information, Please redirect to Powerpoint - Detecting Noise in Canvas Fingerprinting

閱讀更多
機器學習中的優化器 (3) - AdaGrad、RMSProp 與 Adam
發布於: 2025-08-15 更新於: 2025-08-15 分類於: AI
此為 機器學習中的優化器 系列文章 - 第 3 篇:
  1. 機器學習中的優化器 (1) - Gradient descent 梯度下降與其變體
  2. 機器學習中的優化器 (2) - 從梯度下降問題到動量優化
  3. 機器學習中的優化器 (3) - AdaGrad、RMSProp 與 Adam

前言

上篇文章提到 動量(Momentum) 的引入可以有效逃離局部最小值進而幫助找到全局的最佳解,但 Momentum 對所有的參數都套用同樣的學習率,導致在某些狀況下可能過度衝刺而不易找到全局最佳解。因此後來出現了一些優化算法 - AdaGrad, RMSProp, Adam 等讓學習率可以隨著訓練迭代的過程中自適應調整以更快的找到全局最佳解

閱讀更多
機器學習中的優化器 (2) - 從梯度下降問題到動量優化
發布於: 2025-08-05 更新於: 2025-08-15 分類於: AI
此為 機器學習中的優化器 系列文章 - 第 2 篇:
  1. 機器學習中的優化器 (1) - Gradient descent 梯度下降與其變體
  2. 機器學習中的優化器 (2) - 從梯度下降問題到動量優化
  3. 機器學習中的優化器 (3) - AdaGrad、RMSProp 與 Adam

梯度下降面臨的問題

在上一篇 Gradient descent 梯度下降與其變體 文章中,我們介紹了梯度下降的基本原理和三種主要變形:Batch Gradient Descent、Stochastic Gradient Descent (SGD) 和 Mini-batch Gradient Descent。雖然這些方法在機器學習中發揮了重要作用,但在實際應用中仍然面臨一些挑戰:

1. 學習率選擇困難

問題描述

  • 學習率太小:收斂速度慢,需要大量迭代
  • 學習率太大:可能導致震盪或發散
  • 不同參數可能需要不同的學習率

數學表達
$$w_{t+1} = w_t - \eta \nabla L(w_t)$$

其中 $\eta$ 是固定的學習率,但實際上:

  • 在平坦區域需要較大學習率加速
  • 在陡峭區域需要較小學習率避免震盪
閱讀更多