深層学習6、回帰
深層学習6、回帰
2.4.2 回帰
回帰(Regression)とは、主に出力に連続値をとる関数を対象に、訓練データをよく再現するような関数を定めることをいう。この場合、ネットワークの出力層の活性化関数に、その値域が目標とする関数のそれと一致するようなものを選ぶ必要がある。
例) 目標関数の値域が[-1,1]の場合が、出力層の活性化関数には,総曲線正接関数が適しており、目標関数が任意の実数(ー∞、∞)をとる場合、恒等写像がよい。
出力層の活性化関数を選んだ上で、ネットワークの出力y(xi)が、訓練データの目標出力diに可能な限り近くなるようにする。それには「近さ」の尺度が必要だ。二乗誤差||d-y(x;w)||2を使うのが普通である。二乗誤差を訓練データの全サンプルについて加算したものを半にした
を考え、最も小さくなるようなwを選ぶ。1/2倍するのは、微分すると2乗の2と相殺されるからである。このE(w)が回帰で最も一般的な誤差関数である。
2.4.2 회귀
회귀(Regression)란, 주로 출력이 연결치를 취하는 함수를 대상으로 훈련 데이터를 잘 재현하는 함수를 정하는 것을 말한다. 이 경우, 네트워크 출력층의 활성화함수로 그 치역이 목표함수의 치역과 일치하도록 고를 필요가 있다.
예) 목적함수의 치역이 [-1,1]인 경우, 출력층의 활성화함수로 tanh(x) 함수가 적절하고, 목적함수가 임의의 실수(ー∞、∞)를 취하는 경우에는 항등함수가 적절하다.
출력층의 활성화함수를 고른 후에는 네트워크의 출력y(xi)이 훈련 데이터의 목표 출력 di와 가능한 가깝도록 해야 한다. 이를 위해 ‘가까움’의 척도가 필요하다. 제곱오차 ||d-y(x;w)||2를 쓰는 것이 보통이다. 제곱오차를 훈련 데이터의 모든 샘플에 대해 더한 것에 1/2를 곱한
를 고려해, 제곱 오차를 가장 작게 하는 w를 고른다. 1/2를 곱하는 것은 제곱을 미분하면 생기는 2와 상쇄시키기 위함이다. 이 E(w)가 회귀에서 가장 일반적인 오차함수이다.
회귀 문제는 선형적인 문제이니 직선을 생각하면 된다. 특정한 y값이 주어졌을 때 실제로 측정된 값에서 네트워크가 출력한 값을 뺀 것이 오차이고, 그 오차들을 다 더하면 네트워크가 목표함수를 어느 정도로 잘 재현했는지 파악할 수 있다.