신경망 in R :: nnet 패키지

최한빈·2023년 4월 20일
0

딥러닝

목록 보기
1/10

nnet 패키지

nnet 패키지는 은닉층이 1개인 신경망 모형을 구현하기 위한 함수로 구성되어 있다. nnet 패키지에서 신경망의 매개변수는 교차엔트로피 또는 SSE를 사용하여 최적화된다. 분류 문제를 위해 nnet 패키지를 사용할 때 출력 결과는 소프트맥스 함수를 이용하여 확률과 같은 형태로 변환할 수 있으며, 과적합을 막기 위해 가중치 감소 기법을 사용할 수 있다.

nnet 패키지의 nnet 함수

nnet::nnet은 신경망 모형을 생성하며, 반환값은 nnet 객체이다. 은닉층이 1개일 때 사용하며, 입력층에서 출력층으로 바로 연결되는 skip-layer 기능이 있는 신경망을 구현할 수 있다.

nnet::nnet(formula, data, weights, ...)

formula : 출력변수와 입력변수를 지정하는 모형 표현식
data : 표현식을 적용할 데이터 프레임
weights : 각 관측값을 위한 가중치, 생략되면 디폴트는 1이 됨

nnet::nnet(x ,y ,weights ,size ,Wts ,mask ,...)

x,y : 입력 및 목표출력의 행렬 또는 데이터프레임
weigths : 각 관측값을 위한 가중치, 생략되면 디 폴트는 1
size : 은닉노드의 개수

Wts : 초기 가중치, 생략되면 랜덤하게 선택
mask : 최적화할 매개변수를 나타내는 논리 벡터

linout=False : True이면 출력노드의 활성함수로 선형함수, False이면 시그모이드 함수 사용
entropy=False : 모형을 학습할 때 모형의 출력과 목표출력을 비교하기 위해 사용할 손실함수, True이면 교차엔트로피, False이면 SSE 사용
softmax=False : 출력노드의 활성함수로, 소프트맥스 함수의 사용 여부

MaxNWts=1000: 가중치의 최대개수로, 디폴트는 1000, 모형이 복잡하여 가중치가 많이 필요하면 이 값을 증가시켜야함

nnet::predict.nnet(object, newdata, type, ...)

nnet기반 예측을 수행, 반환값은 예측 결과
object: nnet 객체
newdata : 예측을 수행할 자료
type=c("raw","class"): 예측 결과의 유형. raw는 신경망이 반환하는 행렬, class는 예측된 분류

profile
데이터 분석 공부하는 대학생

0개의 댓글