데이터마이닝 09강 | 신경망모형 R 함수 정리 및 사용법
이번 강의에서는 신경망모형을 R로 분석할 때 사용하는 주요 함수를 정리합니다.
특히 neuralnet 패키지를 활용하여 신경망모형을 작성하고, 결과 확인 및 예측하는 방법을 설명합니다.
neuralnet 함수 구조
신경망모형을 작성할 때 사용하는 함수입니다.
1
2
3
|
neuralnet(formula, data, hidden=c(a,b),
threshold=0.01, stepmax=1e+05, rep=1, startweights=NULL,
act.fct=”logistic”, linear.output=TRUE, constant.weights=NULL)
|
cs |
-
formula
: 목표변수와 입력변수 관계
예)Y ~ X1 + X2 + X3
-
data
: 데이터프레임 -
hidden
: 은닉층 마디수 (예:hidden=c(3,2)
→ 첫 은닉층 3개, 둘째 2개) -
threshold
: 학습 중단 기준 (오차 편미분값 기준) -
stepmax
: 최대 반복 step 수 -
rep
: 학습 반복 횟수 -
startweights
: 초기 가중치 -
act.fct
: 활성함수 (기본값 ‘logistic’) -
linear.output
: TRUE(회귀) / FALSE(분류) -
constant.weights
: 상수로 고정할 가중치
왜 threshold가 필요한가?
-
신경망 학습은 보통 오차 함수(손실 함수)를 최소화하는 게 목표
-
그런데 오차 함수가 완전히 0이 되는 경우는 거의 없고,
어느 정도 작아지면 더 이상 학습해도 의미 없거나 과적합 위험 있음 -
그래서 편미분 값(gradient)이 threshold 이하로 작아지면 학습을 멈추도록 설정
주요 R 함수
plot() 함수
작성된 신경망모형을 그림으로 확인
1
|
plot(y.nn)
|
cs |
-
y.nn
: neuralnet 함수로 생성한 모형
summary() 함수
모형 요약정보 확인
1
|
summary(y.nn)
|
cs |
print() 함수
학습 결과와 가중치 출력
1
|
print(y.nn)
|
cs |
predict() 함수
새로운 데이터 예측
1
|
predict(y.nn, newdata)
|
cs |
-
newdata
: 예측할 데이터프레임
중요내용 정리
-
neuralnet()
: 신경망모형 작성 -
plot()
: 신경망구조 시각화 -
summary()
: 모형 요약결과 -
print()
: 가중치, 학습과정 출력 -
predict()
: 새로운 데이터 예측
모두 neuralnet 패키지를 설치해야 사용 가능
객관식 문제 & 해설
Q1. neuralnet() 함수에서 은닉층 마디 수를 설정하는 옵션은?
① formula
② hidden
③ stepmax
④ rep
정답: ②
해설: hidden 옵션을 통해 은닉층의 개수를 설정할 수 있습니다.
Q2. 신경망모형을 그림으로 표현할 때 사용하는 함수는?
① print()
② predict()
③ plot()
④ summary()
정답: ③
해설: plot() 함수를 통해 신경망 구조와 가중치를 시각화할 수 있습니다.
Q3. 신경망 학습 중단 기준으로 사용되는 옵션은?
① threshold
② stepmax
③ rep
④ act.fct
정답: ①
해설: threshold 값은 학습 과정 중 오차의 절대편미분값 기준을 설정하는 옵션입니다.