글을 시작하기에 앞서 해당 글은 Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong의 저서인 mathematics for machine learning을 바탕으로 요약 및 정리한 글임을 알려드립니다.
머신러닝(Machine learning)은 데이터로부터 유용한 정보를 자동으로 추출해주는 알고리즘을 디자인하는 것이다. 강조할 부분은 “자동(automatic)”이다. 머신러닝은 많은 데이터셋에 적용하여 의미있는 것들을 생산하는 범용 방법론(general-purpose methodology)에 관심이 있다. 머신러닝을 설명하는 세 가지의 핵심 단어가 있다. 데이터, 모델, 그리고 학습이다.
머신러닝의 목적은 데이터로부터 가치있는 패턴을 찾는 방법을 개발하는 방법을 디자인하는 것이다. 이 목적에 도달하기 위해서는 주어진 데이터를 일반화하는 프로세스를 가진 모델을 디자인한다. 이후 학습에서는 모델의 매개 변수를 최적화하여 데이터의 패턴과 구조를 자동으로 찾을 수 있게 한다. 결국 머신러닝의 최종 목표는 위의 과정을 거쳐 준비된 모델이 새로운 데이터를 받아도 패턴을 잘 찾을 수 있는 모델을 구축하는 것이다.
복잡한 머신러닝이 구축되는 원리를 알기 위해서는 수학적 기초가 중요하다. 원리를 이해하는 것은 새로운 머신러닝 방법들을 생산하고, 기존의 방법들을 디버깅할 수 있다. 머신러닝은 크게 회귀(Regression), 차원 축소(Dimemsionality Reduction), 밀도 추정(Density Estimation), 분류(Classification)로 나눌 수 있으며, 이를 위해 필요한 수학적 지식은 벡터 계산(Vector Calculus), 확률 분포(Probability & Distributions), 최적화(Optimization), 선형 대수(Linear Algebra), 기하학(Analytic Geometry), 행렬 분해(Matrix Decomposition)가 있다. 책에서는 이와 같은 전반적인 수학적 지식을 다룰 예정이다.
Index: Part 1
파트 1에서는 머신러닝을 배우기에 앞서 필요한 수학적 기초들을 볼 예정이다. 파트 1의 목차는 다음과 같다.
Chapter 1: 선형 대수(Linear Algebra)
숫자 데이터를 벡터나 행렬로 나타내며, 이런 벡터나 행렬에 대한 연구들을 선형 대수라고 한다. 벡터의 모음인 행렬에 대한 내용도 이 장에서 확인할 수 있다.Chapter 2: 기하학(Analytic Geometry)
실제 세계에 있는 두 개의 물체를 나타내는 두 개의 벡터가 있다면, 유사성에 대해 논의할 수 있다. 즉, 비슷한 두 벡터가 주어지면 예측 알고리즘에 의해서 나온 결과 값도 비슷해야 한다는 것이다. 벡터 간의 유사성 개념을 공식화하려면 벡터를 입력으로 사용하고 유사성을 나타내는 숫자값을 반환하는 연산을 도입해야 한다. 유사성과 거리에 대한 개념들은 이 장에서 확인할 수 있다.Chapter 3: 행렬 분해(Matrix Decomposition)
이 장에서는 행렬에 대한 기초적인 개념을 배우고 행렬 분해에 대해 공부할 것이다. 행렬에 대한 연산들은 머신러닝에서 매우 유용하게 사용되며, 실제로 직관적인 데이터 분석을 가능하게 하고 또한 머신러닝이 효율적으로 학습할 수 있도록 해준다.Chapter 4: 벡터 계산(Vector Calculus)
기계 학습 모델을 학습하기 위해서는 일반적으로 성능을 최대화하는 매개 변수를 찾아야 한다. 이번 장에서는 벡터 미적분을 알아보고 그라디언트에 대해서 살펴볼 것이다.Chapter 5: 확률 이론(probability theory)
머신러닝 알고리즘은 소음(noise)와 같은 불확실한 변수에 대해서 인식하고 참고해야 한다. 예를 들어 특정 테스트 데이터에서 예측의 대한 신뢰도를 정량화하기 위해서는 일종의 불확실성을 표현할 수있는 예측 변수가 필요하다. 이런 불확실성의 정량화는 확률 이론의 영역이며 이 장에서 배울 것이다.Chapter 6: 최적화(Optimization)
많은 최적화 기술에는 솔루션을 검색 할 방향을 알려주는 그라디언트의 개념이 필요하다. 함수에서 최소와 최대를 찾는 최적화에 대해서 알아볼 것이다.
Index: Part 2
파트 2에서는 파트 1에서 배웠던 수학적 지식을 기반으로 여러 머신러닝을 살펴볼 것이다. 파트 2의 목차는 다음과 같다.
Chapter 7: 머신러닝의 세 가지 요소
이 장에서는 본격적으로 들어가기에 앞서 머신러닝의 세 가지 요소인 데이터, 모델, 파라미터 추정을 수학적인 방식으로 다시 설명한다. 또한 머신러닝 시스템이 오버피팅되지 않는 방법을 소개한다. 머신러닝의 본질은 새로운 데이터에서 높은 예측률을 가져야 한다는 것을 명심하라.Chapter 8: 선형 회귀(linear regression)
선형 회귀에서는 입력값 $x$에 해당하는 결과 값 $y$에 매핑하는 함수를 찾는 과정을 살펴볼 것이다. 또한 매개 변수를 최적화하는 대신 매개 변수를 통합하는 베이지안 선형 회귀를 살펴보고 매개 변수 추정(클래식 모덱 피팅)에 대해서 논의할 것이다.Chapter 9: 차원 축소(dimensionality reduction)
차원 축소의 주요 목표는 고차원 데이터를 동일하게 포현된 저차원 데이터로 변경하는 것이다. 저차원 데이터로 변경하는 이유는 분석의 편의를 위해서이다. 선형 회귀와 달리 차원 축소는 데이터 모델링에만 관련된다.Chapter 10: 밀도 추청(density estimation)
이 장에서는 입릭 데이터셋을 확률 분포로 나타내는 밀도 추정에 대해서 살펴볼 것이다. 이를 위해 ‘가우시안 혼합 모델(Gaussian mixture model)’에 중점을 두고 매개 변수를 찾기 위한 반복 체계에 대해서 논의할 것이다.Chapter 11: 분류(clssification)
책의 마무리로서 분류에 대해서 심층적으로 이야기하려고 한다. 분류는 선형 회귀와 동일하게 입력 값과 결과 값이 존재하며, 특히 결과 값이 정수로 구성되어 있음을 유의해야 한다.