머신러닝에서 수학이 중요한 이유는 다양하며 그 중 몇 가지는 다음과 같다:
-
정확도, 트레이닝 시간, 모델 복잡도, 파라미터 수 및 피쳐 (features) 수에 대한 고려를 포함하는 올바른 알고리즘 선택
-
파라미터 설정과 검증 (validation) 전략 선택
-
편향 분산 (bias-variance)의 트레이드오프의 이해를 기반으로한 언더피팅 (underfitting)과 오버피팅 (overfitting)의 식별
-
올바른 신뢰 구간과 불확실성 추정
어느 수준의 수학적 지식이 필요한가?
-
선형대수학 (Linear Algebra): 나의 동료중 한 명인 Skyler Speakman은 최근에 “선형대수학은 21세기의 수학이다”라고 말한적이 있는데 나는 이 말에 전적으로 동의한다. 머신러닝에서 선형대수학은 모든 곳에서 나타난다.
-
주성분 분석 (Principal Component Analysis, PCA)
-
단일값 분해 (Singular Value Decomposition, SVD)
-
행렬의 고유분해 (Eigendecomposition of a matrix)
-
LU 분해 (LU Decomposition)
-
QR 분해 (QR Decomposition/Factorization)
-
대칭 행렬 (Symmetric Matrices)
-
고유값 & 고유벡터 (Eigenvalues & Eigenvectors)
-
벡터 공간과 표준화 (Vector Spaces and Norms)
- 이상 위의 것들은 머신러닝에서 사용되는 최적화 방법들을 이해하기 위해 필요한 개념들이다.
-
확률론 및 통계 (Probability Theory and Statistics): 머신러닝과 통계는 서로 다른 분야가 아니다. 실제로, 누군가는 최근에 머신러닝을 “Mac에서 통계하기”라고 정의했다. 머신러닝에 필요한 기초 통계학 및 확률론 개념들은 다음과 같다.
-
조합 (Combinatorics)
-
확률 규칙 및 공리 (Probability Rules & Axioms)
-
베이지안 이론 (Bayes’ Theorem)
-
랜덤 변수 (Random Variables)
-
분산과 기댓값 (Variance and Expectation)
-
조건부 확률 및 결합 확률 분포 (Conditional and Joint Distributions)
-
표준 분포 (Standard Distributions)
-
Bernouil
-
Binomial
-
Multinomial
-
Uniform
-
Gaussian
-
모멘트 생성 함수 (Moment Generating Functions)
-
최대 우도 추정 (Maximum Likelihood Estimation, MLE)
-
사전 및 사후 확률 (Prior and Posterior)
-
최대 사후 추정 (Maximum a Posteriori Estimation, MAP)
-
샘플링 방식 (Sampling Methods)
-
다변수 미적분학 (Multivariate Calculus): 필수 주제중 일부는 다음을 포함한다.
-
미분 및 적분 (Differential and Integral Calculus)
-
편미분 (Partial Derivatives)
-
벡터값 함수 (Vector-Values Functions)
-
방향 그라디언트 (Directional Gradient)
-
Hessian
-
Jacobian
-
Laplacian
-
Lagrangian 분포 (Lagrangian Distribution)
-
알고리즘 및 복잡도 최적화 (Algorithms and Complex Optimizations): 이는 머신러닝 알고리즘의 계산 효율성과 확장성을 이해하고 데이터셋의 희소성을 활용하는데 있어 중요하다.
-
데이터 구조에 대한 지식 (이진 트리, 해싱, 힙, 스택 등)
-
동적 계획법 (Dynamic Programming)
-
랜덤 및 선형 시간 이하 알고리즘 (Randomized & Sublinear Algorithm)
-
그래프 (Graphs)
-
그라디언트/확률론적 하강 (Gradient/Stochastic Descents)
-
원 및 쌍대문제 해결 (Primal-Dual methods)
-
기타: 이는 위에서 설명한 4가지 주요 영역에서 다루지 않은 다른 수학 분야로 구성된다.
다음은 머신러닝에 필요한 수학을 공부할 수 있는 온라인 MOOC와 자료들이다:
초보자들은 머신러닝을 시작하는데 있어 많은 수학적 지식이 필요하진 않다. 기본적인 선행 조건은 이 포스트에서 설명한대로 데이터 분석이며 여러분들은 더 많은 기술과 알고리즘을 습득하면서 수학을 배울 수 있다.