신경망 이론의 좀 더 자세한 설명 및 파이선 구현 코드는 이곳을 클릭하세요
암상자 기법은 오른쪽 그림처럼 다양하게 섞여 있는 데이터들 사이에서 분류선을 잘 만들어 주는 기법이다.
하지만 '암상자'에서 알 수 있는 것처럼, 해당 알고리즘엔 큰 단점이 있는데 그 과정을 설명하기 애매하다는 것이다.
이 예시로는 추후에 포스팅할 SVM과 신경망 등이 포함되며, 해당 기법들은 예측 정확도는 높지만
그 결과 도출을 위한 과정을 설명하기 애매해다는 단점이 있다.
우선, 암상자 기법중 하나인 신경망 이론에 대하여 알아보자.
신경망은 크게 입력 - 은닉 - 출력층으로 나누어진다.
이 때 입력층에서 출력층으로 가며 데이터마다 가중치를 부여해, 출력층에서 최적의 예측값을 낸다는게 목표인데,
해당 과정은 다음과 같다.
은닉층에서 연산을 거쳐서 출력값을 나오게 하는 것임. 즉 선마다 가중치가 있어서 이에 따라 분석 –
즉 신경망은 가중치를 결정하는 것
Feed-forward / Back-propagation Neural net - 출력된 값을 보고 정답하고 다르면 역전파(가중치를 뒤로 조정하면서) 최적화된 가중치를 만들어 낸다
이 때 은닉층은 자유롭게 결정할 수 있는데, 우리가 진행하고 있는 비즈니스 애널리틱스에서는 보통 3계층의 형태를 많이 사용한다.
그 이유는 해당 은닉층으로도 충분히 분석이 가능하기 때문이다.
위 사진은 해당 노드가 어떻게 가중치를 적용하여 인풋을 받고, 이를 다시 다음 노드로 보내주는지 설명하고 있다.
이를 활성화 함수 라고 하는데, 이 활성화 함수는
활성화 함수 (Activation function)
- Combination function(결합함수)
모든 인풋들을 하나의 value로 합침
가중치를 거친 합
A lot of flexibility in the choice of combination functions
- Transfer function(전이함수)
로 설명할 수 있다.
즉 결합함수 부분은 가중치를 적용하여 들어온 input value들을 하나로 합치고,
전이함수는 이렇게 합친 value를 다음 노드로 전송하는 역할을 담당한다.
시그모이드 함수는 input value를 0~1사이로 보정한다
이 때 전이함수는 해당 값을 보정하여 전송하기도 하는데, 이러한 함수들에는 시그모이드, 가우시안 함수 등이 있다.
위에서 볼 수 있는 것처럼, 가중치를 적용하여 그 값을 계산하고, 이렇게 합친 값을 시그모이드 함수로
보정하여 다음 노드로 전송하는 것을 알 수 있다.
.
이러한 신경망 기법의 장단점은 아래와 같다.
장점
신경망은 범주도 나눌 수 있고 특정한 값을 예측할 수 있다 ‘(Numeric prediction 가능)
복잡한 패턴임에도 불구하고 모형 만들 수 있음
데이터에 대한 가정을 거의 하지 않는다 - 어차피 데이터 패턴을 외우는 것이기 때문
분류나 예측 결과가 좋다
단점
모델을 만드는데 시간이 오래걸리며 (복잡하면) 컴퓨터 능력이 많이 필요함
Overfitting 문제가 발생할 가능성이 있다
예측값은 있지만 (결과는 있지만) 과정을 이해할 수 없다 – 따라서 실무적으로 사용하는데 문제가 있을수 있음(고객에게 설명을 해줄 수 없다)
'데이터분석 > with R' 카테고리의 다른 글
[R] SVM 서포트 벡터 머신의 정의와 설명 (0) | 2017.12.28 |
---|---|
[R] R로 구현하는 신경망 이론 (2) | 2017.12.22 |
[R] 유클리드 거리 정의와 계산법 (0) | 2017.12.17 |
[R] R로 구현하는 KNN(게으른 학습) 알고리즘 - (2) (0) | 2017.12.16 |
[R] R로 구현하는 KNN(게으른 학습) 알고리즘 - (1) (0) | 2017.12.16 |