深層学習7、ニ値分類
深層学習7、ニ値分類
2.4.3 ニ値分類
ニ値分類は、入力xを内容に応じて2種類に区別する問題である。例えば、人の顔の写真が与えられ、ある方法で特徴ベクトルxを取り出すとき、xを元にその人の性別を判断する場合。
→ 入力xからdの値を推定することになる。
この問題を定式化する方法はいくつかあるが、xを指定したとき、d=1となる事後確率p(d=1|x)をモデル化する方法を考える。えられたxに対し、事後確率の値が0.5を超えらばd=1,下回ればd=0と判断することにする。この事後確率p(d=1(x))をモデル化するのにニューラルネットを使う。出力層にユニット1つを持ち、その活性化関数はロジスティック関数、
とする。このネットワーク全体の入力層関数y(x;w)を事後確率のモデル
とする。ネットワークのパラメータwを変えることで、様々な事後確率をネットワークの自由度の範囲で表現することができる。
パラメータwは、訓練データ{(xn,dn)|n=1, ... , N}を用いて、モデルが与える事後分布p(d|x;w)がデータが与える分布と最もよく整合するように最尤推定(Maximum Likelihood Estimation)を行う。p(d|x;w)をd=1とd=0の事後分布を使ってp(d|x)=p(d = 1|x)dp(d = 0|x)1-dのように表現することができる。最尤推定は、このモデルの下でwのデータに対する尤度(Likelihood)を求め、それを最大化するようなwを選ぶ。wの尤度は、
で与えられる。最大化の代わりに最小化を考え、符号を反転した、
を誤差関数とする。
であり、
とおくと、p(d=1|x)はuのロジスティック関数に一致する。
以上の定式化の代わりに、ニ値分類を多クラスの一種と見なし、そちらの方法論を使うこともできる。その場合は出力層はユニット2つとなり、活性化関数にソフトマックスを使う。えられる結果は同じ。
2.4.3 이진분류
이진분류는, 입력 x를 내용에 맞게 2종류로 구별하는 문제이다. 예를 들어, 사람의 얼굴을 찍은 사진이 주어졌을 때, 어떤 방법으로 특징벡터 x를 뽑아내 x를 기반으로 사람의 성별을 판단하는 경우가 있다. 이 경우, 입력 x로부터 d의 값을 추정하게 된다.
이 문제를 정식화하는 몇 가지 방법이 있는데, x를 지정했을 때, d=1이 되는 사후확률 p(d=1|x)를 모델화하는 방법을 생각해보자. 얻어진 x에 대해, 사후확률의 값이 0.5를 넘으면 d=1, 0.5를 밑돌면 d=0으로 판단한다. 이 사후확률 p(d=1(x))의 모델화에 신경망을 사용한다. 출력층은 유닛 하나를 가지는데, 그 활성화 함수를 로지스틱 함수
로 한다. 이 네트워크 전체의 입력층함수 y(x;w)를 사후확률의 모델
로 한다. 네트워크의 파라미터 w를 바꾸면 여러 사후확률을 네트워크의 자유도 범위 내에서 표현할 수 있다.
파라미터 w는 훈련 데이터 {(xn,dn)|n=1, ... , N} 를 이용해 모델에 맞는 사후분포p(d|x;w)가 데이터가 나타내는 분포와 가장 잘 맞도록 하는 최대 가능도 추정(Maximum Likelihood Estimation)을 실행한다. p(d|x;w)를 d=1, d=0의 사후분포를 사용해 p(d|x)=p(d = 1|x)dp(d = 0|x)1-d와 같이 표현하는 것이 가능하다. 최대 가능도 추정법은, 이 모델 아래에서 w의 데이터에 대한 우도(Likelihood)를 구해, 그것을 최대화 하는 w를 고른다. w의 우도는
으로 얻어진다. 최대화 대신 최소화를 생각해 부호를 반전시킨
를 오차 함수로 한다.
이므로,
를 적용하면, p(d=1|x)는 u의 로지스틱 함수와 일치한다.
혼자 생각해 보았는데, 아래의 흐름에 따라 로지스틱 함수와 일치하는 것 같다.
이상의 정식화 대신 이진분류를 다클래스 분류의 일종으로 보아 그 방법론을 사용할 수도 있다. 이 경우 출력층의 유닛은 두개가 되고, 활성화 함수로는 소프트맥스를 사용한다. 얻어진 결과는 동일하다.