close_btn
조회 수 75729 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files

1. 기본개념


기본개념1.jpg

인공신경망은 분류와 수치예측을 할 때 사용하는 분석입니다. 인공신경망은 생물의 신경망의 형태를 토대로 만든 모형입니다. 위 그림은 뉴런 혹은 신경 세포라고 신경 시스템의 한 단위로써 전기적, 화학적 신호를 전달하고 받는 세포입니다. 자극이 들어오면 왼쪽의 수상돌기(Dendrite)에서 축색돌기(Axon) 방향으로 신호가 전달됩니다. 오른쪽 끝 부분에 시냅스라는 부분에서 화학물질이 나와서 다시 수상돌기로 신호가 가고 이 것이 뇌를 거쳐 반응이 나타나는 방식으로 신경 시스템이 이루어집니다.


기본개념2.jpg

인공신경망은 크게 입력층, 은닉층, 출력층이 있습니다. 아까 신경계와 비교를 하면 입력층은 자극, 은닉층은 신경계, 출력층은 반응입니다. 그리고 여기서의 원은 node라고 하며 신경계에 비유하면 하나의 뉴런이라고 할 수 있습니다. 특히 여기 은닉층은 저희가 직접 볼 수 없는 부분이라서 분석을 하면 어떤 식으로 분석이 되는지 알 수 없습니다.


기본개념3.jpg

다음으로 인공신경망의 모형에 대해 알아보겠습니다. 인공신경망의 기본 모형은 이러하며 여기서 f는 비선형 함수, X는 연속형 그리고 혹은 이산형 변수들의 벡터로 이루어져 있으며 input nodes라고 합니다. Y는 연속형 그리고 혹은 이산형 변수들의 벡터로 이루어져 있으며 output nodes라고 합니다. gx의 함수로 g(x) hidden nodes라고 합니다. 또한 w hidden node들의 가중치로 인공신경망의 핵심입니다. 가중치는 저희가 조정할 수 없는 부분이기 때문에 인공신경망 분석 내에서 추정을 하여 사용합니다. σactivation function으로 바로 뒤에서 설명하겠습니다.


기본개념4.jpg

activation function output Y를 만들기 위해 은닉된 부분을 가중하는 값입니다σ에는 크게 두 종류가 있는데요. 하나는 sign function이고 다른 하나는 sigmoid function입니다. Sigmoid function에는 logistic function, Hyperbolic tangent function 등 여러 가지 함수들이 있는데요. 여기서는 대표적으로 logistic function을 보였습니다. Sigmoid function들을 s자형 곡선을 연속적으로 그리는 함수들입니다. 이 함수들의 역할은 선형결합인 값들을 S자형 곡면으로 바꿔주는 역할을 합니다. 다행히도 Activation function은 신경망 모형에서 대체적으로 큰 영향을 끼치지 않기 때문에 activation function을 잘 선택해야 하는 부담은 줄어듭니다.



2. 종류


종류.jpg

다음은 신경망 모형의 종류입니다. FFN은 정보들이 input에서 hidden으로 hidden에서 output으로 쭉 한 방향으로 흐르는 신경망을 이야기합니다. 역전파의 경우 가중치의 에러를 줄이는 방향으로 저 과정을 계속 반복하는 신경망입니다. 역전파는 FFN에 비해 가중치가 잘 나오는 편이고 또 상대적으로 빠른 편이어서 인공신경망에서 자주 사용하는 종류입니다. 마지막으로 Recurrent Neural Network, RNN context unit이라는 부분을 통하여 hidden node들과의 교류를 통하여 output nodes를 만들어내는 과정입니다. 여기서 context unit input output node들에는 영향을 미치지 않습니다.


3. 장단점


장단점.jpg

다음으로 장점과 단점에 대해서 이야기하겠습니다. 인공신경망 분석의 장점은 질적 변수나 양적 변수에 관계없이 모두 분석이 가능하다는 점이고 activation function을 통해서 입력 변수들 간의 비선형 조합을 만들 수 있습니다. 또한 예측력도 우수하다는 장점을 가지고 있습니다. 단점은 신경망이 복잡할 경우 분석 시간이 오래 걸린다는 점과 어떤 방식으로 분석되었는지와 가중치의 의미를 정확히 해석하기 어렵기 때문에 결과 해석이 어렵고 분석 시 변수들을 일정한 순서나 방식으로 넣는 것이 아니기 때문에 결과가 일정하지 않다는 점입니다.


4. 활용 예시


활용1.jpg

일단 실제로 분석한 사례를 보면 위 패키지에 있는 spam이라는 자료를 사용하여 train, test, valid 자료로 각 총 자료의 50%, 30%, 20%로 층화추출합니다.


활용2.jpg

활용2-1.jpg

그리고 인공신경망 함수를 사용하기 위해서는 nnet이라는 패키지를 설치하여야 합니다. nnet은 분석할 기본 공식과 자료와 hidden node의 개수를 지정해야 합니다. 여기서는 hidden node수에 따른 test 자료의 오차를 알아보기 위한 그래프를 그렸습니다. nnet의 경우 한 번 모형을 만들 때마다 모형이 다르게 나오기 때문에 test 자료의 오차도 다르게 나옵니다. 그래서 여러 번 그려본 다음 공통되게 오차가 작게 나온 부분의 hidden node 개수를 파악합니다. 여기서는 3이 적합하다고 볼 수 있습니다.


활용3.jpg

활용3-1.jpg

다음으로 모형에 관한 해석입니다. 여기서 i□은 □번째 input node를 의미하고 h□는 □번째 hidden node, o□는 □번째 output node를 의미합니다. 57개의 input node가 첫 번째 hidden node로 향할 때는 i□→h1만큼의 가중치를 가지고 57개의 input값의 선형결합이 만들어집니다. 두 번째 hidden node로 갈 때에도 마찬가지로 input node각각의 가중치로 선형결합이 만들어 집니다. 그리고 세 개의 hidden node내에서는 Activation function을 통해 값이 변화되고 그 값들이 또 다시 가중치를 받아 선형결합을 이루어 output node로 나오게 됩니다 57개의 input node때문에 많은 가중치들이 존재하는데, 기준에 따라 다르겠지만 여기서는 가중치의 값이 20이 넘어가면 매우 크다고 보고 영향력이 큰 부분이라고 판단합니다. 빨간색 네모를 보시면 input node 7, 23, 27, 31, 41, 44에서 첫 번째 hidden node로 가는 시냅스 부분이 가중치가 20이상입니다. 따라서 7, 23, 27, 31, 41, 44 input node에 해당하는 이 변수들의 가중치가 크다는 것은 다른 변수들에 비해 영향력이 크다는 것입니다. hidden node에서 output node로 가는 가중치를 살펴보면 첫 번째 hidden node에서 첫 번째 output node로 갈 때의 가중치와, 세 번째 hidden node에서 두 번째 output node로 갈 때의 가중치는 음수이다. 또한, 첫 번째 hidden node에서 두 번째 output node로 갈 때의 가중치와, 세 번째 hidden node에서 첫 번째 output node로 갈 때의 가중치는 양수이다. 이 값은 최종 모형에서 sigmoid 함수의 계수 값으로 weighted sum을 대입한 activation function의 가중치를 나타낸다. 결국 첫 번째, 세 번째 hidden node의 값이 클 수록, 두 번째 hidden node의 값이 작을수록 1로 분류할 확률이 높아진다.(여기서 1 spam)


활용4.jpg

활용4-1.jpg

다음으로 모형의 예측력을 알아보기 위해 validation 자료의 오분류율과 민감도, 특이도를 알아보는 단계입니다. 여기서 SDMTools라는 패키지가 있는데요. 이 패키지를 사용하면 table이라는 함수를 통하여 오분류표를 구할 수 있고 이 것으로 오분류율과 민감도, 특이도를 쉽게 구할 수 있습니다.


활용5.jpg 

활용5-1.jpg

다음으로 해석력을 알아보기 위해 test 자료의 오분류율과 민감도, 특이도를 알아보는 단계입니다. 그리고 해석력과 예측력에 차이가 심하게 없는지 확인하기 위해서 validation 자료와 test자료의 오분류율, 민감도, 특이도를 비교합니다. 이 모형은 모든 오분류율과 민감도, 특이도가 모두 높고 양 값이 비슷하므로 모형이 잘 만들어졌다고 할 수 있습니다.


이상으로 인공신경망 분석에 대한 설명을 마치겠습니다.


  • ?
    lower78 2016.09.05 17:59 SECRET

    "비밀글입니다."

  • ?
    dater 2016.12.21 00:20 SECRET

    "비밀글입니다."

  • ?
    스마트록 2017.09.21 13:45 SECRET

    "비밀글입니다."


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 우수 코드 게시판 이용 관련 공지사항 DataMarket 2014.05.21 315304
304 투빅스 9&10기 5주차 NLP Basic - 10기 장유영 장유영 2018.08.22 377555
303 투빅스 10기&11기 7주차 NLP - 11기 김유민 file 2019.03.21 350107
302 투빅스 10기&11기 1주차 Algorithm - 11기 한재연 1 file 한재연 2019.01.31 192388
301 투빅스 10기&11기 2주차 SVM, Naive Bayes, KNN - 11기 김대웅 file 김대웅 2019.01.31 142135
300 투빅스 6&7기 2주차 과제 - 회귀분석 6기 장재석 2 재석 2017.02.04 129785
299 투빅스 10&11기 1주차 Logistic Regression - 11기 김대웅 file 김대웅 2019.01.23 114868
298 투빅스 11기&12기 4주차 Decision Tree - 12기 김탁영 file 2019.08.17 113386
297 투빅스 9&10기 4주차 PCA-mnist - 10기 강인구 file kaig 2018.08.16 103585
296 투빅스 7&8기 1주차 과제 알고리즘 - 8기 김강열 file 김강열 2017.07.27 100419
295 SNA(Social Network Analysis) 분석 file 바키똥 2015.04.03 90780
294 투빅스 9&10기 2주차 Naive Bayes - 10기 장유영 2 file 장유영 2018.08.01 87647
293 투빅스 7&8기 6주차 과제 TF-IDF 문서유사도 측정 - 8기 최서현 최서현 2017.08.31 83265
» 인공신경망(Artificial Neural Network) 분석 3 file 권도영 2015.04.13 75729
291 KNN (K-Nearest Neighbor) file 바키똥 2015.09.28 68202
290 능형 회귀 분석 file 자꾸생각나 2015.05.05 62225
289 지도 만들기 file 조호 2015.04.15 61005
288 크롤링 - 전국 이디야 매장정보를 중심으로 (5기 이승은) 2 file 켜져있는멀티탭 2016.03.26 59629
287 인공신경망(Aritificial Neuron Network) file 자꾸생각나 2015.09.16 56994
286 NBA data 회귀분석 / Adult data 로지스틱 회귀분석, 나이브베이즈, 의사결정나무 - 5기 정현재 2 file 정현재 2016.03.03 56674
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 ... 16 Next ›
/ 16

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5