용어 정리
12 Oct 2017 | Clustering
이번 글에서는 머신러닝과 딥러닝 관련 다양한 용어들을 정리하였습니다. 이 글은 기본적으로 구글에서 정리해 놓은 용어 사전 리스트를 기본으로 위키피디아 등 자료를 참고해 정리하였습니다. 그럼 시작하겠습니다.
activation function
이전 계층의 모든 입력값의 가중합을 받아서 다음 계층에 보낼 출력값을 산출하는 함수. 대개 ReLU나 시그모이드 같은 비선형함수가 적용된다.
loss
모델의 예측과 정답 사이에 얼마나 차이가 있는지 나타내는 측도(measure). 이 값을 정하기 위해서는 손실함수(loss function)이 정의되어 있어야 한다. 예컨대 선형회귀 모델에서 손실함수는 대개 Mean Squared Error, 로지스틱회귀에서는 로그우도가 쓰인다.
여기에서 측도란 1차원에서의 길이, 2차원에서의 넓이, 3차원에서의 부피 등의 개념을 일반의 집합으로까지 확장한 개념이다. 즉 집합의 ‘크기’에 상당하며, 적분이론은 이 개념을 기초로 하는 경우가 많다.
prior belief
모델을 학습하기 전 데이터에 대한 당신의 믿음. 예컨대 딥러닝 모델 파라메터에 대한 L2 정규화는 해당 파라메터들이 작고 0을 중심으로 정규분포를 이룬다는 사전믿음을 전제한다.
regularization
모델 복잡도(complexity)에 대한 패널티(penalty). 정규화는 과적합을 예방하고 일반화 성능을 높이는 데 도움을 준다. 정규화에는 L1 정규화, L2 정규화, 드롭아웃, early stopping 등이 있다.
squared loss
선형회귀에 쓰이는 손실함수. L2 Loss로도 불린다. 이 함수는 모델이 예측한 값과 실제값 간 차이(오차)의 제곱이다. 미분이 가능하다는 장점이 있다. 하지만 오차를 ‘제곱’하기 때문에 잘못된 예측 혹은 이상치(outlier)에 의해 그 값이 큰 영향을 받게 된다는 단점이 있다. (추가 내용 : Quora)
absolute loss
모델이 예측한 값과 실제값 간 차이(오차)의 절대값. L1 Loss로도 불린다. L1 Loss는 L2 Loss에 비해 이상치에 덜 민감하다는 장점이 있지만 0인 지점에서 미분이 불가능하다는 단점이 있다.
L1 regularization
정규화의 일종. 모델 가중치의 L1 norm(가중치 각 요소 절대값의 합)에 대해 패널티를 부과한다. 대부분의 요소값이 0인 sparse feature에 의존한 모델에서 L1 정규화는 불필요한 피처에 대응하는 가중치들을 정확히 0으로 만들어 해당 피처를 모델이 무시하도록 만든다. 다시 말해 변수선택(feature selection) 효과가 있다는 말이다. 이는 L2 정규화와 대조된다.
2차원상 L1 norm의 자취는 마름모꼴이어서 미분이 불가능한데 이같은 성질과 깊은 관련을 맺고 있는듯하다. 이곳 참고.
L2 regularization
정규화의 일종. 모델 가중치의 L2 norm의 제곱(가중치 각 요소 제곱의 합)에 대해 패널티를 부과한다. L2 정규화는 아주 큰 값이나 작은 값을 가지는 outlier 모델 가중치에 대해 0에 가깝지만 0은 아닌 값으로 만든다. 이는 L1 정규화와 대조된다. L2 정규화는 선형모델의 일반화 능력을 언제나 항상 개선시킨다.
structural risk minimization
알고리즘은 다음과 같은 두 가지 목표를 만족시켜야 한다.
- 예측력이 좋은 모델 (예컨대 손실이 가장 적은 모델)
- 가급적 간단한 모델 (예컨대 강한 수준의 정규화가 이뤄진 모델)
예컨대 학습데이터에 대해 손실 최소화와 정규화를 동시에 달성한 모델은 structural risk minimization이 이뤄진 알고리즘이라 할 수 있다. structural risk minimization는 empirical risk minimization 개념과 대조된다.
empirical risk minimization
학습데이터에 대해 손실이 적은 모델을 선택하는 것. structural risk minimization 개념과 대조된다.
least squares regression
L2 loss를 최소화함으로써 학습된 선형회귀 모델.
generalized linear model
least squares regression의 일반화된 버전. 가우시안 노이즈에 기반한 모델도 있고 포아송 노이즈나 범주형 노이즈(categorical noise) 같은 다른 종류의 노이즈에 기반한 모델도 있다. generalized linear model의 예시는 다음과 같다.
- logistic regression
- multi-class regresstion
- least squares regression
generalized linear model의 파라메터는 convex optimization 기법으로 구한다. generalized linear model은 다음 두 가지 속성이 있다.
- 최적 generalized linear model의 예측 평균은 학습 데이터 정답의 평균과 같다.
- 최적 로지스틱 회귀 모델이 예측한 확률의 평균은 학습 데이터 정답의 평균과 같다.
generalized linear model의 예측력은 피처에 의해 제한된다. 딥러닝 모델과 달리 generalized linear model은 (학습데이터에 없는)새로운 피처를 학습할 수 없다.
Kernel Support Vector Machines (KSVMs)
입력 데이터 벡터를 고차원 공간에 매핑함으로써 positive class와 negative class 사이의 마진(margin)을 최대화하는 결정경계(decision boundary)를 찾는 분류 알고리즘. 예컨대 100차원짜리 입력데이터가 주어졌을 때 KSVMs는 이러한 입력데이터를 100만 차원 공간으로 매핑한다. KSVMs는 hinge loss라고 불리는 손실함수를 사용한다.
hinge loss
학습데이터 각각의 범주를 구분하면서 데이터와의 거리가 가장 먼 결정경계(decision boundary)를 찾기 위해 고안된 손실함수의 한 부류. 이로써 데이터와 경계 사이의 마진(margin)이 최대화된다. KSVMs이 바로 hinge loss를 손실함수로 쓴다. 이진 분류문제에서 모델의 예측값 $y’$(스칼라), 학습데이터의 실제값 $y$(-1 또는 1) 사이의 hinge loss는 다음과 같이 정의된다.
\[loss=\max { \left\{ 0,1-\left( y'\times y \right) \right\} }\]
$y’×y$를 $x$축, hinge loss를 $y$축으로 놓고 그래프를 그리면 다음과 같다.
위 그래프의 의미를 이해하려면 SVM의 목적식부터 살펴야 한다. SVM에서 plus-plane보다 위에 있는 관측치들은 $y=1$이고 $y’$, 즉 $w^Tx+b$가 1보다 크다. 반대로 minus-plane보다 아래에 있는 점들은 $y=-1$이고 $w^Tx+b$가 -1보다 작다. 따라서 SVM이 그 손실을 0으로 두려는 관측치 $x$는 아래와 같은 식을 만족한다.
\[y' \times y={ y }({ w }^{ T }{ x }+b)\ge 1\]
그런데 여기에서 만약 $y’×y$가 1 미만의 값을 가진다면 해당 관측치 $x$는 plus-plane과 minus-plane 사이, 즉 마진(margin) 내에 존재한다. $y’×y$가 1 이상이라면 손실을 무시(=0)하고, 1보다 작으면 작을수록 손실 또한 크도록 유도한 것이 hinge loss 수식이 의미하는 바다.
hinge loss는 로지스틱 회귀의 손실함수, 크로스 엔트로피와 깊은 관련을 맺고 있다. 로지스틱 회귀의 경우 $y’×y$가 1 이상의 값을 가질 경우 손실이 0에 가까워지지만 완전히 0이 되지는 않는다. 자세한 내용은 이곳 참고.
independently and identically distributed (i.i.d)
동일하고(변화하지 않고) 이전에 뽑은 값에 영향을 받지 않는(독립인) 확률분포를 따르는 확률변수들의 집합(collection). 예컨대 특정 시점에 웹페이지에 접속하는 방문자들은 i.i.d일 수 있다. 짧은 시간이기 때문에 분포는 변화하지 않는다. 또한 한 방문자의 접속은 다른 방문자의 접속과 일반적으로 독립(independent)이다. 그러나 분석 기간을 길게 하면 웹페이지 방문이 계절마다 다를 수 있다(이 경우 분포가 변화한다는 점에서 i.i.d가 아니다)
앞면이 나오는 경우를 1, 그렇지 않은 경우를 0으로 하는 확률변수가 있고 동전을 네 번 던질 경우 이 확률변수들의 집합은 i.i.d다. 앞면이 나올 확률이 네 차례 모든 실험에서 0.5로 동일하고, 현재 실험은 이전에 앞면이 나왔든 뒷면이 나왔든 상관없이 독립이기 때문이다.
inference
머신러닝에서 추론(inference)는 학습된 모델을 레이블이 달리지 않은 데이터(unlabeled examples)에 적용해 예측하는 과정을 가리킨다. 통계학에서 추론은 일부 관측된 데이터가 주어졌을 때 해당 분포의 파라메터를 추정하는 과정을 가리킨다.
perplexity
모델이 과업을 얼마나 잘 수행하고 있는지 나타내는 측도(measure) 중 하나. 예컨대 스마트폰 사용자가 몇 개 철자를 타이핑했을 때 해당 사용자에게 자동 완성된 단어 리스트를 보여주는 과업을 수행하고 싶다고 치자. 이 작업에 대한 perplexity $P$는 사용자가 입력하려고 하는 실제 단어(정답)가 모델이 제시하는 후보 리스트에 포함되도록 하기 위해 제공해야 하는 추측의 수를 가리킨다. perplexity는 다음과 같이 크로스 엔트로피와 관계가 있다.
\[P={ 2 }^{ -crossentropy }\]
stationarity
데이터의 분포가 하나 이상의 차원에서 일정하게 유지되는 데이터 집합의 속성. 가장 일반적으로 그 차원은 시간이며, 데이터가 stationarity하다는 것은 시간이 지나도 데이터가 변하지 않는다는 걸 의미한다.
synthetic feature
입력 피처에는 존재하지 않지만 하나 이상의 피처로부터 도출된 피처. 합성피처(synthetic feature)의 종류는 다음과 같다.
- feature cross
- 하나의 피처를 두 개의 피처로 나누기(dividing)
- buckting
피처 하나만을 대상으로 정규화(normalize)나 스케일링해서 생성된 피처는 합성피처에 속하지 않는다.
feature cross
개별 피처들을 곱셈 또는 카테시안 곱으로 cross시켜 생성한 합성피처의 일종. feature cross는 피처간 비선형(nonlinear) 관계를 표현하는 데 도움을 준다.
bucketing
연속적인(continous) 피처를 버켓(bucket) 또는 빈(bin)이라 불리는 여러 개의 이진 피처로 나누는 것. 대개 해당 피처 값(value)의 범위를 바탕으로 나눈다. 예컨대 온도를 연속적인 floating-point 피처로 표시하는 대신, 이산적인(discrete)한 빈으로 분리할 수 있다. 가령 0~15도, 15~30도, 30~50도에 해당하는 데이터를 각각의 빈에 넣는 방식이다.
이번 글에서는 머신러닝과 딥러닝 관련 다양한 용어들을 정리하였습니다. 이 글은 기본적으로 구글에서 정리해 놓은 용어 사전 리스트를 기본으로 위키피디아 등 자료를 참고해 정리하였습니다. 그럼 시작하겠습니다.
activation function
이전 계층의 모든 입력값의 가중합을 받아서 다음 계층에 보낼 출력값을 산출하는 함수. 대개 ReLU나 시그모이드 같은 비선형함수가 적용된다.
loss
모델의 예측과 정답 사이에 얼마나 차이가 있는지 나타내는 측도(measure). 이 값을 정하기 위해서는 손실함수(loss function)이 정의되어 있어야 한다. 예컨대 선형회귀 모델에서 손실함수는 대개 Mean Squared Error, 로지스틱회귀에서는 로그우도가 쓰인다.
여기에서 측도란 1차원에서의 길이, 2차원에서의 넓이, 3차원에서의 부피 등의 개념을 일반의 집합으로까지 확장한 개념이다. 즉 집합의 ‘크기’에 상당하며, 적분이론은 이 개념을 기초로 하는 경우가 많다.
prior belief
모델을 학습하기 전 데이터에 대한 당신의 믿음. 예컨대 딥러닝 모델 파라메터에 대한 L2 정규화는 해당 파라메터들이 작고 0을 중심으로 정규분포를 이룬다는 사전믿음을 전제한다.
regularization
모델 복잡도(complexity)에 대한 패널티(penalty). 정규화는 과적합을 예방하고 일반화 성능을 높이는 데 도움을 준다. 정규화에는 L1 정규화, L2 정규화, 드롭아웃, early stopping 등이 있다.
squared loss
선형회귀에 쓰이는 손실함수. L2 Loss로도 불린다. 이 함수는 모델이 예측한 값과 실제값 간 차이(오차)의 제곱이다. 미분이 가능하다는 장점이 있다. 하지만 오차를 ‘제곱’하기 때문에 잘못된 예측 혹은 이상치(outlier)에 의해 그 값이 큰 영향을 받게 된다는 단점이 있다. (추가 내용 : Quora)
absolute loss
모델이 예측한 값과 실제값 간 차이(오차)의 절대값. L1 Loss로도 불린다. L1 Loss는 L2 Loss에 비해 이상치에 덜 민감하다는 장점이 있지만 0인 지점에서 미분이 불가능하다는 단점이 있다.
L1 regularization
정규화의 일종. 모델 가중치의 L1 norm(가중치 각 요소 절대값의 합)에 대해 패널티를 부과한다. 대부분의 요소값이 0인 sparse feature에 의존한 모델에서 L1 정규화는 불필요한 피처에 대응하는 가중치들을 정확히 0으로 만들어 해당 피처를 모델이 무시하도록 만든다. 다시 말해 변수선택(feature selection) 효과가 있다는 말이다. 이는 L2 정규화와 대조된다.
2차원상 L1 norm의 자취는 마름모꼴이어서 미분이 불가능한데 이같은 성질과 깊은 관련을 맺고 있는듯하다. 이곳 참고.
L2 regularization
정규화의 일종. 모델 가중치의 L2 norm의 제곱(가중치 각 요소 제곱의 합)에 대해 패널티를 부과한다. L2 정규화는 아주 큰 값이나 작은 값을 가지는 outlier 모델 가중치에 대해 0에 가깝지만 0은 아닌 값으로 만든다. 이는 L1 정규화와 대조된다. L2 정규화는 선형모델의 일반화 능력을 언제나 항상 개선시킨다.
structural risk minimization
알고리즘은 다음과 같은 두 가지 목표를 만족시켜야 한다.
- 예측력이 좋은 모델 (예컨대 손실이 가장 적은 모델)
- 가급적 간단한 모델 (예컨대 강한 수준의 정규화가 이뤄진 모델)
예컨대 학습데이터에 대해 손실 최소화와 정규화를 동시에 달성한 모델은 structural risk minimization이 이뤄진 알고리즘이라 할 수 있다. structural risk minimization는 empirical risk minimization 개념과 대조된다.
empirical risk minimization
학습데이터에 대해 손실이 적은 모델을 선택하는 것. structural risk minimization 개념과 대조된다.
least squares regression
L2 loss를 최소화함으로써 학습된 선형회귀 모델.
generalized linear model
least squares regression의 일반화된 버전. 가우시안 노이즈에 기반한 모델도 있고 포아송 노이즈나 범주형 노이즈(categorical noise) 같은 다른 종류의 노이즈에 기반한 모델도 있다. generalized linear model의 예시는 다음과 같다.
- logistic regression
- multi-class regresstion
- least squares regression
generalized linear model의 파라메터는 convex optimization 기법으로 구한다. generalized linear model은 다음 두 가지 속성이 있다.
- 최적 generalized linear model의 예측 평균은 학습 데이터 정답의 평균과 같다.
- 최적 로지스틱 회귀 모델이 예측한 확률의 평균은 학습 데이터 정답의 평균과 같다.
generalized linear model의 예측력은 피처에 의해 제한된다. 딥러닝 모델과 달리 generalized linear model은 (학습데이터에 없는)새로운 피처를 학습할 수 없다.
Kernel Support Vector Machines (KSVMs)
입력 데이터 벡터를 고차원 공간에 매핑함으로써 positive class와 negative class 사이의 마진(margin)을 최대화하는 결정경계(decision boundary)를 찾는 분류 알고리즘. 예컨대 100차원짜리 입력데이터가 주어졌을 때 KSVMs는 이러한 입력데이터를 100만 차원 공간으로 매핑한다. KSVMs는 hinge loss라고 불리는 손실함수를 사용한다.
hinge loss
학습데이터 각각의 범주를 구분하면서 데이터와의 거리가 가장 먼 결정경계(decision boundary)를 찾기 위해 고안된 손실함수의 한 부류. 이로써 데이터와 경계 사이의 마진(margin)이 최대화된다. KSVMs이 바로 hinge loss를 손실함수로 쓴다. 이진 분류문제에서 모델의 예측값 $y’$(스칼라), 학습데이터의 실제값 $y$(-1 또는 1) 사이의 hinge loss는 다음과 같이 정의된다.
\[loss=\max { \left\{ 0,1-\left( y'\times y \right) \right\} }\]$y’×y$를 $x$축, hinge loss를 $y$축으로 놓고 그래프를 그리면 다음과 같다.
위 그래프의 의미를 이해하려면 SVM의 목적식부터 살펴야 한다. SVM에서 plus-plane보다 위에 있는 관측치들은 $y=1$이고 $y’$, 즉 $w^Tx+b$가 1보다 크다. 반대로 minus-plane보다 아래에 있는 점들은 $y=-1$이고 $w^Tx+b$가 -1보다 작다. 따라서 SVM이 그 손실을 0으로 두려는 관측치 $x$는 아래와 같은 식을 만족한다.
\[y' \times y={ y }({ w }^{ T }{ x }+b)\ge 1\]그런데 여기에서 만약 $y’×y$가 1 미만의 값을 가진다면 해당 관측치 $x$는 plus-plane과 minus-plane 사이, 즉 마진(margin) 내에 존재한다. $y’×y$가 1 이상이라면 손실을 무시(=0)하고, 1보다 작으면 작을수록 손실 또한 크도록 유도한 것이 hinge loss 수식이 의미하는 바다.
hinge loss는 로지스틱 회귀의 손실함수, 크로스 엔트로피와 깊은 관련을 맺고 있다. 로지스틱 회귀의 경우 $y’×y$가 1 이상의 값을 가질 경우 손실이 0에 가까워지지만 완전히 0이 되지는 않는다. 자세한 내용은 이곳 참고.
independently and identically distributed (i.i.d)
동일하고(변화하지 않고) 이전에 뽑은 값에 영향을 받지 않는(독립인) 확률분포를 따르는 확률변수들의 집합(collection). 예컨대 특정 시점에 웹페이지에 접속하는 방문자들은 i.i.d일 수 있다. 짧은 시간이기 때문에 분포는 변화하지 않는다. 또한 한 방문자의 접속은 다른 방문자의 접속과 일반적으로 독립(independent)이다. 그러나 분석 기간을 길게 하면 웹페이지 방문이 계절마다 다를 수 있다(이 경우 분포가 변화한다는 점에서 i.i.d가 아니다)
앞면이 나오는 경우를 1, 그렇지 않은 경우를 0으로 하는 확률변수가 있고 동전을 네 번 던질 경우 이 확률변수들의 집합은 i.i.d다. 앞면이 나올 확률이 네 차례 모든 실험에서 0.5로 동일하고, 현재 실험은 이전에 앞면이 나왔든 뒷면이 나왔든 상관없이 독립이기 때문이다.
inference
머신러닝에서 추론(inference)는 학습된 모델을 레이블이 달리지 않은 데이터(unlabeled examples)에 적용해 예측하는 과정을 가리킨다. 통계학에서 추론은 일부 관측된 데이터가 주어졌을 때 해당 분포의 파라메터를 추정하는 과정을 가리킨다.
perplexity
모델이 과업을 얼마나 잘 수행하고 있는지 나타내는 측도(measure) 중 하나. 예컨대 스마트폰 사용자가 몇 개 철자를 타이핑했을 때 해당 사용자에게 자동 완성된 단어 리스트를 보여주는 과업을 수행하고 싶다고 치자. 이 작업에 대한 perplexity $P$는 사용자가 입력하려고 하는 실제 단어(정답)가 모델이 제시하는 후보 리스트에 포함되도록 하기 위해 제공해야 하는 추측의 수를 가리킨다. perplexity는 다음과 같이 크로스 엔트로피와 관계가 있다.
\[P={ 2 }^{ -crossentropy }\]stationarity
데이터의 분포가 하나 이상의 차원에서 일정하게 유지되는 데이터 집합의 속성. 가장 일반적으로 그 차원은 시간이며, 데이터가 stationarity하다는 것은 시간이 지나도 데이터가 변하지 않는다는 걸 의미한다.
synthetic feature
입력 피처에는 존재하지 않지만 하나 이상의 피처로부터 도출된 피처. 합성피처(synthetic feature)의 종류는 다음과 같다.
- feature cross
- 하나의 피처를 두 개의 피처로 나누기(dividing)
- buckting
피처 하나만을 대상으로 정규화(normalize)나 스케일링해서 생성된 피처는 합성피처에 속하지 않는다.
feature cross
개별 피처들을 곱셈 또는 카테시안 곱으로 cross시켜 생성한 합성피처의 일종. feature cross는 피처간 비선형(nonlinear) 관계를 표현하는 데 도움을 준다.
bucketing
연속적인(continous) 피처를 버켓(bucket) 또는 빈(bin)이라 불리는 여러 개의 이진 피처로 나누는 것. 대개 해당 피처 값(value)의 범위를 바탕으로 나눈다. 예컨대 온도를 연속적인 floating-point 피처로 표시하는 대신, 이산적인(discrete)한 빈으로 분리할 수 있다. 가령 0~15도, 15~30도, 30~50도에 해당하는 데이터를 각각의 빈에 넣는 방식이다.
Comments