숫자 예측
다중 회귀(미국민 의료비 데이터) ,
신경망(콘크리트 강도 예측 )
시계열 예측 ( 다음날 또는 다음달 주가 예측, 기상 예측)
식 4-2 (e 4.2)
def cross_entropy_error( y, t) :
delta = 0.0000001 # 0은 아닌데 0에 아주 가까운 수
return -np.sum( t * np.log( y + delta )
설명: 식4.2 와는 다르게 아주 작은 수인 delta 를 y 에 더해주는 이유는 ?
y 가 0 이 되게 되면 마이너스 무한대가 되기 때문에 마이너스 무한대가 출력되지 않도록 아주 작은값을 y 에 더한것입니다.
def cross_entropy_error( y, t) :
delta = 0.0000001 # 0은 아닌데 0에 아주 가까운 수
return -np.sum( t * np.log( y + delta ) )
y = np.array([ 0.7, 0.2, 0.1 ])
t = np.array([ 1, 0, 0 ] )
print ( cross_entropy_error( y, t ) ) # 0.3566748010815999 <-- 이 값이 0에 가까워지도록 신경망을 학습 시키는것입니다.
신경망을 통해서 풀고자 하는 문제가 수치 예측인지 분류인지를 명확히 알고 있으면 관련한 오차함수만 거기에 맞게 잘 선택하면 됩니다.
- 분류 ---------------> 교차 엔트로피 함수
- 수치예측-----------> 평균 제곱 오차 함수