operator01.jpg



반갑습니다. 교주 LGS입니다.

Neural Network와 관련된 용어는 조금 익숙해지셨나요? ^^

지난 시간에 이어 이번 시간에는 본격적으로 MATLAB으로 Neural Network를 사용해보겠습니다.


ANN0201.png


MATLAB에서는 Neural Network를 GUI로 사용하시려면

MATLAB에서 Start -> Toolboxes -> Neural Network -> Neural Network Start (nnstart)를 클릭하시거나 

또는 command window에서 >>nnstart를 입력하시면 위와 같은 Neural Network를 손쉽게 사용할 수 있는 GUI가 뜹니다.


보시면 MATLAB에서는 Fitting, Pattern Recognition, Clustering, Time Series 이렇게 총 4가지 종류의 NN을 제공하고 있네요

각각의 Tool에 대해서 간단히 설명드리겠습니다. 첫번째로 Fitting Tool의 경우


ANN0202.png 

키와 허리둘레의 Data를 가지고 몸무게를 유추해는 것이라고 생각하시면 됩니다.

즉 Input data(키,허리둘레)와 Output data(몸무게)의 관계를 학습시킨 후 학습된 Neural Network만 있으면 어떤 사람의 키와 몸무게만 알면

몸무게를 추측할 수 있는 거죠~ o(^o^)o

보시다시피 Input data와 Output data가 필요한 Supervisor Training입니다.


그에 반해 Pattern Recognition Tool은 어떤 값을 유추하는 것이 아니라 주어진 입력 데이터가 어떤 카테고리에 속하는 가를 판단하는데

중점을 둔 녀석입니다.

ANN0203.png 

위의 예제를 보시면 Input data로 키와 허리둘레가 들어오고 Output으로 Neural Network로 계산한 x가 출력되는데 

만약 x가 0.5보다 크면 남자이고 x가 0.5보다 작으면 여자로 분류하는 식입니다.

값은 아무상관이 없구요 0.5 기준으로 어느쪽인가만 중요합니다. 이해가시나요? ^^

Pattern Recognition Tool도 네트워크를 Training 시키려면  Input, Output 모두 필요하구요~

(참고로 Classification(분류) 문제에는 SVM(Support Vector Machine)도 많이 쓰입니다. MATLAB에서 svm 함수를 제공하고 있으니 참고하세요)


다음으로 Cluster Tool !!

ANN0204.png 

Cluster Tool은 바로 위에서 보셨던 Pattern Recognition Tool과 매우 유사한데 Category와 Target data가 따로 주어지지 않습니다.

그냥 Neural Network가 알아서 비슷한 Input data 끼리 Group으로 묶어 준다 이거죠~ 오홋!!

Cluster는 Input data만 있으면 되는 Unsupervised Training이구요.


ANN0205.png  


마직막으로 Time Series Tool에 대해서 설명 드리겠습니다.

Time Series data(시계열 時系列 자료)는 시간이 흘러감에 따라 데이터를 쭉 연속적으로 기록한 데이터를 말합니다.

Time Series Tool의 Input은 연속으로 기록된 시계열 데이터에서 일정 크기의 구간을 연속적으로 참조하여 Input data로 넘깁니다.

위의 예제에서는 Input data가 Window size가 2인 창을 쭉 끌고 다니면서 [월 화], [화 수], [수 목]... 으로 참조된  값이네요.

Output도 크기가 1인 창을 연속적으로 움직이면서 참조한 값입니다.

Time Series NN의 경우 실제로 주식시장에서 주가를 예측하기 위해서도 많이 쓰입니다. ^ㅅ^

과거 주가 데이터로 Network를 Train 시켜놓고 최근 주가 데이터를 Input으로 넣어서 내일의 주가를 예측하는 거죵~ ㅋㅋ



이번 시간은 여기까지 입니다.

아~ 다음 시간에 진짜!! 직접 data를 가지고 MATLAB으로 Neural Network 실습해볼께요 ㅜㅜ

그럼 이만.. 총총

profile