본문 바로가기

전체 글155

[선형대수학] - 행렬의 유사성 (Similarity)과 대각화 (Diagonalization) 유사 행렬 (Similar Matrix)두 정방행렬 (square matrix) $A, B \in \mathbb{R}^{n \times n}$에 대해 다음을 만족하면, $A$와 $B$는 유사 행렬 관계에 있다고 하며 $A \sim B$라 표기한다.$\exists P \in \mathbb{R}^{n \times n}$ s.t. $B = P^{-1}AP$유사 행렬의 정의에 따라 다음이 성립한다.$\forall A \in \mathbb{R}^{n \times n}, A \sim A$$A \sim B \Rightarrow B \sim A \; (\because B = P^{-1}AP \Rightarrow A = PBP^{-1} = Q^{-1}BQ)$$A \sim B$ and $B \sim C \Rightarro.. 2024. 10. 31.
[선형대수학] - 행렬의 열 공간, 행 공간, 계수 (Rank) 열 공간과 행 공간 (Column and Row Spaces)행렬 $A \in \mathbb{R}^{m \times n}$의 열 벡터를 $\{\textbf{c}_1, \textbf{c}_2, ..., \textbf{c}_n\}$라 할 때, $A$의 열 공간 $col \; A \subseteq \mathbb{R}^m$는 다음과 같이 정의된다.$col \; A = span\{\textbf{c}_1, \textbf{c}_2, ..., \textbf{c}_n\}$$A$의 행 벡터를 $\{\textbf{r}_1, \textbf{r}_2, ..., \textbf{r}_m\}$이라 할 때, $A$의 행 공간 $row \; A \subseteq \mathbb{R}^n$은 다음과 같이 정의된다.$row \; A = sp.. 2024. 10. 24.
[선형대수학] - 직교성 (Orthogonality) 코시-슈바르츠 부등식 (Cauchy-Schwarz Inequality)$\textbf{x}, \textbf{y} \in \mathbb{R}^n$에 대해 다음이 성립한다.$|\textbf{x} \cdot \textbf{y}| \leq ||\textbf{x}|| ||\textbf{y}||$증명:$\textbf{x}$와 $\textbf{y}$가 이루는 각도를 $\theta$라고 하면, $\textbf{x} \cdot \textbf{y} = ||\textbf{x}|| ||\textbf{y}|| \cos\theta$이다.$|\cos\theta| \leq 1$이므로 $|\textbf{x} \cdot \textbf{y}| \leq ||\textbf{x}|| ||\textbf{y}||$이다. 삼각 부등식 (Triang.. 2024. 10. 22.
[선형대수학] - 벡터 공간 (Vector Space)의 정의와 성질 $\mathbb{R}^n$의 부분 공간 (Subspace)벡터의 집합 $U$가 다음의 성질을 만족하면, $U$를 $\mathbb{R}^n$의 subspace라고 한다.$\textbf{0} \in U$모든 $\textbf{x}, \textbf{y} \in U$에 대해 $\textbf{x} + \textbf{y} \in U$ (합 연산에 대해 닫힘)모든 $a \in \mathbb{R}$, $\textbf{x} \in U$에 대해 $a\textbf{x} \in U$ (스칼라 곱 연산에 대해 닫힘) Null 공간 (Null Space)행렬 $A \in \mathbb{R}^{m \times n}$의 null 공간은 아래와 같이 정의된다.null $A = \{\textbf{x} \in \mathbb{R}^n \; .. 2024. 10. 22.
2024년 9월 최신 프로그래밍 언어 순위 1. 2024년 9월 TIOBE IndexTIOBE Index는 가장 많이 이용되는 프로그래밍 언어 순위표 중 하나이다. TIOBE Index에서는 아래의 3가지 지표를 기반으로 프로그래밍 언어의 순위를 설정한다.해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으로 포함한다.해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수: 일반적으로 프로그래밍 관련 강좌에서는 프로그래밍과 관련된 개념을 설명하기 위해 C와 Java처럼 전통적인 언어를 자주 다루기 때문에  TIOBE Index에서는 전통적인 프로그래밍 언어의 순위가 높게 설정되는 경향이 있다.Google, Bing, Wikipedia.. 2024. 9. 23.
2024년 3월 최신 프로그래밍 언어 순위 1. 2024년 3월 TIOBE Index TIOBE Index는 가장 많이 이용되는 프로그래밍 언어 순위표 중 하나이다. TIOBE Index에서는 아래의 3가지 지표를 기반으로 프로그래밍 언어의 순위를 설정한다. 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으로 포함한다. 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수: 일반적으로 프로그래밍 관련 강좌에서는 프로그래밍과 관련된 개념을 설명하기 위해 C와 Java처럼 전통적인 언어를 자주 다루기 때문에 TIOBE Index에서는 전통적인 프로그래밍 언어의 순위가 높게 설정되는 경향이 있다. Google, Bing, Wikipe.. 2024. 3. 20.
2024년 2월 최신 프로그래밍 언어 순위 1. 2024년 2월 TIOBE Index TIOBE Index는 아래의 3가지 지표를 기반으로 프로그래밍 언어의 순위를 설정한다. 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으로 포함한다. 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수: 일반적으로 프로그래밍 관련 강좌에서는 프로그래밍과 관련된 개념을 설명하기 위해 C와 Java처럼 전통적인 언어를 자주 다루기 때문에 TIOBE Index에서는 전통적인 프로그래밍 언어의 순위가 높게 설정되는 경향이 있다. Google, Bing, Wikipedia 등에서 프로그래밍 언어가 검색된 횟수: 인터넷 검색량을 기반으로 계산되기 때문.. 2024. 2. 29.
[머신러닝/확률모델] Pseudo Random Numbers (유사 난수)의 개념과 생성 1. 실제 난수와 유사 난수 소프트웨어, 머신러닝 모델, 확률과정 등을 개발할 때, 많은 부분에서 우리는 random()이라는 함수를 이용하여 난수를 생성한다. 그러나 엄밀히 정의하면 우리가 사용하는 많은 난수 생성 함수는 실제 난수 (true random number, TRN)가 아니라, 유사 난수 (pseudo random number, PRN)이다. 먼저 실제 난수는 단어 그대로 실제 무작위 추출 과정에 의해 생성된 난수로써, 아래의 3가지 속성을 갖는다. 예측불가능성 (Unpredictable): 생성되는 난수의 값은 예측될 수 없어야한다. 무편향성 (Unbiased): 생성되는 난수들에 특정 경향성이 나타나서는 안 된다. 무관성 (Uncorrelated): 생성되는 난수들 사이에 관련성이 없어여.. 2024. 2. 4.
편향-분산 트레이드오프 (Bias-Variance Tradeoff)와 L2 규제 (L2 Regularization) 1. 예측 모델의 편향 (Bias)과 분산 (Variance) 어떠한 학습 문제에서 아래와 같은 두 학생 A와 B를 생각해볼 수 있다. 학생 A: 고집이 너무 강해서 아무리 새로운 지식을 학습을 시켜도 자신의 주관대로 판단하는 성격 학생 B: 귀가 너무 얇아서 옳은 것이든 틀린 것이든 학습시키는 그대로 수용하는 성격 위의 예시를 머신러닝 문제에서 생각해보면 A는 편향이 크고 분산은 작은 예측 모델이며, 대표적으로 선형회귀 (linear regression)와 같은 모델이 있다. 반면에 B는 편향은 작지만 분산이 큰 예측 모델이며, 대표적으로 고차 다항 회귀 (high-degree polynomial regression)나 심층 인공신경망 (deep neural network) 등이 있다. 선형회귀와 같이.. 2024. 1. 15.
2024년 1월 최신 프로그래밍 언어 순위 1. 2024년 1월 TIOBE Index TIOBE Index는 아래의 3가지 지표를 주로 반영하여 프로그래밍 언어의 순위를 설정한다. 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으로 포함한다. 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수: 일반적으로 프로그래밍 관련 강좌에서는 프로그래밍과 관련된 개념을 설명하기 위해 C와 Java처럼 전통적인 언어를 자주 다루기 때문에 TIOBE Index에서는 전통적인 프로그래밍 언어의 순위가 높게 설정되는 경향이 있다. Google, Bing, Wikipedia 등에서 프로그래밍 언어가 검색된 횟수: 인터넷 검색량을 기반으로 계산되기.. 2024. 1. 15.
Unbiased and Biased Estimators의 개념과 머신러닝 1. Unbiased and Biased Estimators 확률모델의 학습에서 우리의 목적은 주어진 샘플 (데이터) $\textbf{x}_1, \textbf{x}_2, ..., \textbf{x}_n$으로부터 데이터를 생성한 확률분포 $p(\textbf{x}|\theta)$의 참된 매개변수 $\theta$를 찾는 것이다. 그러나 대부분의 머신러닝 응용에서는 모든 데이터를 관측할 수 없기 때문에 추정된 매개변수 $\tilde{\theta}$는 참된 매개변수 $\theta$와 차이가 있을 것이다. 통계학에서 편향 (bias)은 추정된 매개변수와 참된 매개변수의 차이를 말하며, 편향은 추정된 매개변수의 기댓값을 기반으로 식 $\eqref{eq:bias}$과 같이 정의된다. $$\begin{equation} .. 2024. 1. 11.
몬테카를로 방법 (Monte Carlo Method)과 베이지안 머신러닝 1. 큰 수의 법칙 (Law of Large Numbers, LLN) 이 글에서 소개할 몬테카를로 방법 (Monte Carlo method)은 큰 수의 법칙을 기반으로 하며, 큰 수의 (약한) 법칙은 동일한 확률분포에서 독립적으로 추출된 (i.i.d. 조건) 확률변수에 대해 아래와 같이 정의된다. i.i.d. 확률변수 $X_1, X_2, ..., X_n$에 대해 $n$ 증가하면 $\bar{X} = \frac{X_1 + X_2 + \cdots + X_n}{n}$은 실제 기댓값 $\mu$로 수렴한다. 큰 수의 법칙은 샘플 (데이터)이 생성된 확률분포를 모르더라도 샘플로부터 확률분포에 대한 정보를 추정할 수 있음을 보여준다. 이러한 큰 수의 법칙을 직관적으로 나타내면 식 $\eqref{eq:lln}$과 같다... 2024. 1. 7.