예측 분석

데이터를 이용해 예측 분석을 하는 방법을 알아봅니다


수강중

17. 모형 적합 - 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은 파라미터 추정에서 계산 최대 횟수를 의미함
  • 모형이 적게 돌아갈 때 수렴이 잘 되게 하기 위해 크게 잡으면 됨