모형 적합 - Neural Net
Neural Net
- 입력 노드에서 자극이 전달되고 역치를 넘으면 발화하는 신경의 활동을 모사한 모형
- 여러 신경들의 활동을 다양한 조합으로 복잡한 결과를 예측하는 것이 가능함
- Tuning parameter: # of hidden unit, decay, ...
- # of hidden unit: 제 3의 층에 뉴런을 몇 개를 넣을 것인가를 결정
- decay: 연결 강도를 학습할 때, 연결 강도가 일정 수준이 되면 강도를 약화시키는데 이를 어떻게 설정할지 결정
인공신경망의 기본 아이디어
- 뉴런: 신경의 기본 단위
- 뉴런들끼리는 연결되어 있음
- 신경들끼리는 신호를 전달함
- 신호를 받으면 그 신호를 다른 신경에게 전달할지 말지를 결정
실습
cross validation
controlObject <- trainControl(method = 'repeatedcv', # cross validation 반복 시행
repeats = 2, # 2번 시행
number = 5, # training 자료를 10조각 냄
classProbs = T)
grid 생성
nnetGrid <- expand.grid(.decay = c(0.001, 0.01, 0.1),
.size = seq(3,11, by = 2), # 5개
.bag = FALSE )
모형 학습
nnetModel <- train(Class ~ .,
data = Train_dat,
method = 'avNNet',
tuneGrid = nnetGrid,
preProc = c('center', 'scale'),
linout = F, # Class값으로 내보낼 것임
trace = F,
maxit = 2000,
trControl = controlObject)
nnetModel
- linout은 마지막 값이 연속변수인지 집단값인지에 따라 T/F로 나누면 됨
- maxit은 파라미터 추정에서 계산 최대 횟수를 의미함
- 모형이 적게 돌아갈 때 수렴이 잘 되게 하기 위해 크게 잡으면 됨