티스토리 뷰
기계학습(Machine Learning)유형
- 인공신경망 기법이 가장 대표적
- Supervised Learning과 Unsupervised Learning으로 나누어짐
인공신경망
- 알파고가 사용한 기법
- 사람의 신경세포를 본따 만듬.
- 데이터를 통한 학습과정을 통해 일반화된 패턴을 찾아내서, 예측, 분류 등 의사결정 문제를 해결하는데 적용할 수 있는 기법
- 독립변수와 종속변수 간 결합관계(=가중치)를 추출하여 모형을 구축
- Supervised Learning (종속변수가 이미 정해져 있는 데이터를 이용하여 학습 하기 때문)
인공 신경망의 구조
- 은닉층이 존재한다는 것이 인공신경망 구조의 가장 큰 특징
- 즉, 바로 입력층과 출력층이 연결되어 있지 않다. (회귀분석과의 차이)
-
입력층에는 독립변수들이 들어가고, 출력층에서
종속변수가 도출된다.
Node의 구조
- Parallel Processing의 구조
- Summation Function : ∑ 독립 변수값 * 가중치(w1, w2, w3 ...)
- Transfer Functions : Summation Function 의 output 값을 다른 node로 넘겨줌.
은닉층에 존재하는 Hidden Node들의 weight값은 전부 다르다.
일반적으로 독립변수와 종속변수 개수를 더한 값을 n이라고 두었을 때, Hidden Node의 개수는 2n+1개 이내 있을 때 최적이다.
(Hidden Node가 많아질수록, 값의 예측은 정교해 지지만, 계산해야 할 weight가 많으므로 복잡해짐)
EX : 부도예측 모형
종속변수 : 부도 날 경우, : 1 / 부도 안날 경우: 0
독립변수 : 부채 비율, 자기자본 비율, 경상 이율
실제로 부도가 났던 기업 데이터와 부도 나지 않았던 기업 데이터로 학습.
è 부도난 데이터를 집어넣음 -> (weight를 곱한 후, summation -> transfer out) 반복 -> desired output = 0 이 나와야함.
è 0이 나오지 않을 경우, weight 수정
(부도예측 모형에서 주어졌던 데이터는 부도가 났었는지, 나지 않았었는지에 대한 종속변수값을 가지고 있었으므로 Supervised Learning 기법)
기계 학습 (인공신경망 모델링)의 예
- Threshold = 0.5 모델 (즉, 계산값이 0.5가 넘으면 1로 인식하겠다.)
- Difference는 계산값과 데이터의 종속변수값이 일치하면 0, 일치하지 않으면 1
- Weight의 결정은 기계 내부에서 계산에 의해 자동적으로 결정됨
- 독립변수1 * weight1 + 독립변수2 * weight2 = 계산값
- Difference가 1일 경우, weight를 다시 결정
- 초기 Weight는 Random
인공신경망의 학습
적절한 Weight를 찾는 것 -> 그것이 바로 인공신경망이다!!!!
적절한 Weight를 찾은 후에는 아무리 Weight를 바꾸어도 더 이상 오차율이 줄지 않는 순간에 도달한다. -> 그 때, stop!
그 때의 Weight Set이 최종 인공신경망 모형이다.
그 Weight Set을 가진 인공신경망 모형에 알아보고자 하는 데이터를 넣어 분석하는 것이 인공신경망 분석이다.
Ex : ) 부도예측 모형에서의 인공신경망 구조
학습 전과 학습 후의 인공신경망 구조 차이
Training 후에는 데이터에 맞는 인공신경망 모델이 만들어 지는 것을 확인 할 수 있다.
다중 회귀 분석 vs 인공신경망
- 다중 회귀 분석은 x값이 높아지면 y값도 점점 선형으로 증가하는 구조.
- 인공신경망 분석은 다른 값들에 의해 영향을 받기 때문에 x값이 높아진다고 y값이 선형적으로 증가하는 구조는 아님 -> 상당히 비선형적 특성을 가짐
- 인공신경망 분석은 데이터가 더욱 복잡한 분야를 모델링 할 때 유리하다.
- 하지만, weight를 일반화시키는데 들어가는 데이터의 양과 계산양이 많다. 또한, 언제 계산을 stop해야할지, 즉 weight set의 결정시기를 고려해야 하기 때문에 복잡한 모델이다
모형 구축과 데이터 set
인공신경망을 모델링 할 때, 즉, weight를 결정할 때 모든 데이터를 넣는 것은 바람직하지 않다.
모든 데이터를 전부 넣을 경우, 해당 데이터에 너무 잘 갖추어져 있는 모델이 만들어지기 때문이다.
즉, 일반적인 모델이 아니라, 해당 상황에만 맞는 모델이 만들어진다는 것이다. (과적합)
그러므로, 데이터를 7:3으로 쪼개서, 70%의 데이터(Training Data)로만 인공신경망을 모델링 한다.
그 후, 나머지 30%의 데이터(Test Data)를 넣어 인공신경망 모델을 Test하는 것이다.
인공신경망 모델의 중요 고려 요소
1. Convergence
- Training 데이터의 오차율이 줄어들어야 한다.
2. Generalization
- 학습용 샘플의 에러가 줄어야 한다.
- 즉, sample에 대한 적중률이 좋아야 한다.
3. Stability
- 최소한의 내용을 바꿨을 때 (샘플링을 바꾸거나 조건을 조금 바꿨을 경우) 에도 어느정도의 적중률과 오차율을 보장해야 한다.
인공신경망 기법의 장단점
장점
1. 입력변수와 결과 변수가 연속형이나 이산형인 경우, 모두 처리 가능 -> 다양한 분야에 적용 가능
2. 입력변수와 결과변수의 관계를 정의하기 어렵고, 복잡한 데이터에 대해서도 좋은 결과 가능
l 선형회귀 같은 기법은 독립변수 값이 커지면, 선형적인 관계로 종속변수 값이 증가하는 반면, 인공신경망은 hidden Node를 통해 변수들이 변형되고 합쳐지고 또 전이 된다. 즉, 독립변수와 종속변수와의 관계가 딱 선형일 때 뿐 아니라, 비선형적으로 표현할 수 있다.
l 입력변수하고 종속변수가 정확하게 ‘이게 커지면 이게 무조건 커져’ 이런식으로 간단하게 정의하기 어려운 경우, 많이 사용예측력 우수
3. 예측력 우수
4. 견고하고 안정적
단점
1. 최적의 모형을 도출하는 것이 상대적으로 어려움.
l Weight set을 정할 시기 예측이 어렵다
.
2. 도출된 결과, 즉, 입출력 변수의 연관관계에 대한 설명이 어려움.
l 회귀분석은 독립변수의 영향력이 한눈에 보인다. -> 가중치와 항목이 분명
l 인공신경망은 히든 레이어에서의 자동 분석과 계산 때문에 독립변수와 종속변수의 관계 설명이 분명하게 보이지 않는다.
l 신용평가 시장 같은 경우, 종속변수와 독립변수와의 관계 설명이 분명하지 않아 인공신경망 모형보다는 간단한 통계모형을 쓰는 추세이다.
n 신용평가가 나쁘면 대출을 거절해야 하는데, ‘인공신경망에서 점수가 나쁘게 나와서 대출을 못해주겠네요’ 할 수 없기 때문… (‘어떤 변수 때문에 점수가 낮게 나와서 대출을 못해주겠네요’ 가 불가하다.)
3. 충분한 데이터가 필요.
+ 인공신경망 모형은 못하는 사람이 하면, 회귀분석보다 더 못한 결과가 나올 수 있다…..ㅠㅠ (최적의 모델 선택이 매우 어렵다.)
적용분야
- 예측 및 분류
- 금융 재무 분야 ( 신용 스코어링 / 부도예측 / 자본시장 예측)
- 마케팅 / CRM 분야 (고객 스코어링 / 고객 이탈 예측 / 고객반응 예측)
'BigData > R' 카테고리의 다른 글
회귀분석 (선형 회귀 / 로지스틱 회귀) (2) | 2019.10.18 |
---|