사용자지침서

Similar documents
1-1-basic-43p

딥러닝 첫걸음

Introduction to Deep learning

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표


신경망 (Neural Networks) < 인공지능입문 > 강의 허민오 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University

PowerPoint Presentation

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2


Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

Artificial Intelligence: Assignment 5 Seung-Hoon Na December 15, Numpy: Tutorial 다음 자료를 참조하여 numpy기본을 공부하시오.

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구


chap 5: Trees

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

슬라이드 1

PowerPoint 프레젠테이션

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속

특집 2 부 3 신경회로망 신경회로망에대한연구는뇌신경생리학으로부터유래되어패턴인식이나연산기억장치, 최적화, 로봇제어, 문자인식, 음성인식, 신호처리등의분야로확대됐을뿐아니라경제, 경영분야의의사결정시스템에도응용되기에이르렀다. 최근에는데이터마이닝의주요기법으로손꼽히고있다. 신현

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - MDA 2008Fall Ch2 Matrix.pptx

Microsoft PowerPoint - m05_Equation1(Print) [호환 모드]

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

슬라이드 1

소성해석

PowerPoint 프레젠테이션

π >> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y) π

Microsoft PowerPoint - Ch13

LIDAR와 영상 Data Fusion에 의한 건물 자동추출

PowerPoint 프레젠테이션

adfasdfasfdasfasfadf

3 Gas Champion : MBB : IBM BCS PO : 2 BBc : : /45


statistics

Microsoft Word - SDSw doc

함수공간 함수공간, 점열린위상 Definition 0.1. X와 Y 는임의의집합이고 F(X, Y ) 를 X에서 Y 로의모든함수족이라하자. 집합 F(X, Y ) 에위상을정의할때이것을함수공간 (function space) 이라한다. F(X, Y ) 는다음과같이적당한적집합과

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]


歯TC프로그래밍매뉴얼

% Rectangular Value 입력 t = -50 : 1 : 50; % 시간영역 for i = 1 : 101 if abs ( t ( i ) ) < 10 x ( i ) = 1; else x ( i ) = 0; % 화면을 2 열 1 행으로나눈후 % 2 열 1 행에 R

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월


Precipitation prediction of numerical analysis for Mg-Al alloys

(Microsoft PowerPoint - Ch6_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

Microsoft Word - LAB_OPamp_Application.doc

= ``...(2011), , (.)''

PowerPoint 프레젠테이션

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

<343320C1A4B1B3B9FC2DBACEBAD0B9E6C0FC20C1F8B4DCC0BB20C0A7C7D128C0FAC0DABBA1B0A3B1DBBEBEC8AEC0CE292E687770>

cat_data3.PDF

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

한약재품질표준화연구사업단 고삼 ( 苦參 ) Sophorae Radix 생약연구과

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

체의원소를계수로가지는다항식환 Theorem 0.1. ( 나눗셈알고리듬 (Division Algorithm)) F 가체일때 F [x] 의두다항식 f(x) = a 0 + a 1 x + + a n x n, a n 0 F 와 g(x) = b 0 + b 1 x + + b m x

ch3.hwp

PowerPoint Presentation

사용자 설명서 SERVO DRIVE (FARA-CSD,CSDP-XX)

untitled

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

<39372D3032C6F3B1A4C1F6BFAAC4ABC1F6B3EBBCB3C4A1B9D7BFEEBFB5B9E6BEC8BFACB1B82E687770>

Microsoft PowerPoint - chap-11.pptx

슬라이드 1

신경망을 이용한 멜로디 패턴 인식

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

A sudy on realizaion of speech and speaker recogniion sysem based on feedback of recogniion value

15 홍보담당관 (언론홍보담당) 김병호 ( 金 秉 鎬 ) 16 (행정담당) 박찬해 ( 朴 鑽 海 ) 예산담당관 17 (복지행정담당) 이혁재 ( 李 赫 在 ) 18 (보육담당) 주사 이영임 ( 李 泳 任 ) 기동근무해제. 19 (장애인담당) 박노혁 ( 朴 魯 爀 ) 기동

(Microsoft PowerPoint - Ch17_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

MAX+plus II Getting Started - 무작정따라하기

(001~006)개념RPM3-2(부속)

딥러닝튜토리얼 Deep Learning Tutorial - 신경망과딥러닝의이해 Understanding Neural Network & Deep Learning

해양모델링 2장5~ :26 AM 페이지6 6 오픈소스 소프트웨어를 이용한 해양 모델링 물리적 해석 식 (2.1)의 좌변은 어떤 물질의 단위 시간당 변화율을 나타내며, 우변은 그 양을 나타낸 다. k 5 0이면 C는 처음 값 그대로 농

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

Microsoft PowerPoint - e pptx

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - LA_ch6_1 [호환 모드]

Microsoft Word - SAS_Data Manipulate.docx

Microsoft Word - LectureNote.doc

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

슬라이드 1

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제


Microsoft PowerPoint - 05장(함수) [호환 모드]

2002년 2학기 자료구조

Microsoft PowerPoint - chap06-1Array.ppt

PowerPoint 프레젠테이션

chap 5: Trees

OR MS와 응용-03장

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

( 분류및특징 ) 학습방법에따라 1 지도학습 (Supervised 2 비지도 학습 (Unsupervised 3 강화학습 (Reinforcement 으로구분 3) < 머신러닝의학습방법 > 구분 지도학습 (Supervised 비지도학습 (Unsupervised 강화학습 (

Transcription:

사용자지침서

βλ β hardlim Ex. hardlim 함수의사용예 CEMTool>> x=[-1 0 1 2 3]; CEMTool>> y=hardlim(x) λ λ y = 0 1 1 1 1 CEMTool>> y=hardlim(x,-1) y = 0 0 1 1 1 linear λ λ Ex. linear 함수의사용예 CEMTool>> x=[-1 0 1 2 3]; CEMTool>> y=linear(x) y = -1 0 1 2 3 CEMTool>> y=linear(x,"d")

y = 1 1 1 1 1 plinear λ λ λ λ Ex. plinear 함수의사용예 CEMTool>> x=[-1 0 1 2 3]; CEMTool>> y=plinear(x,0,2) y = 0.0000 0.0000 0.5000 1.0000 1.0000 CEMTool>> y=plinear(x,0,2,"d") y = 0.0000 0.0000 0.5000 0.0000 0.0000 logsig Ex. logsig 함수의사용예 CEMTool>> x=[-1 0 1 2 3]; CEMTool>> y=logsig(x) λ λ y = 0.2689 0.5000 0.7311 0.8808 0.9526 CEMTool>> y=tansig(x,"d") y = 0.1966 0.2500 0.1966 0.1050 0.0452 tansig Ex. tansig 함수의사용예 CEMTool>> x=[-1 0 1 2 3]; CEMTool>> y=tansig(x) λ λ λ y = -0.7616 0.0000 0.7616 0.9640 0.9951 CEMTool>> y=tansig(x,"d") y = 0.4200 1.0000 0.4200 0.0707 0.0099 rbf

λγ λ Ex. rbf 함수의사용예 CEMTool>> x=[-1 0 1 2 3]; CEMTool>> c=[-0.9 0 1.2 1.7 3.08]; CEMTool>> y=rbf(x,c,0.5) y = 0.7462

η η η η η

CEMTool>> pattern = [1 0 0 0 0; 0 1 0 0 1; 0 0 1 1 0; 0 0 1 1 0]; CEMTool>> target = pattern; CEMTool>> w = genlayer(pattern, target, [-0.1 0.1]); CEMTool>> b = -0.5*ones(1,5); CEMTool>> w = trainheb(w, pattern, target, 50, 0.2, 0.05); CEMTool>> output=simulnet(w, b, "hardlim", pattern) 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 CEMTool>> w 0.9673 0.0000 0.0000 0.0000 0.0000 0.0000 0.6230 0.0000 0.0000 0.6230 0.0000 0.0000 2.4096 2.4096 0.0000 0.0000 0.0000 2.4096 2.4096 0.0000 0.0000 0.6230 0.0000 0.0000 0.6230

% Hebbian 학습데모 (demo_hebb.cem) ------------------------------------------------------------ // define 100, 5-element input vectors. pattern = [1 0 0 0 0; 0 1 0 0 1; 0 0 1 1 0; 0 0 1 1 0]; target = pattern; msgprint(" "); msgprint(" 학습패턴 "); pattern msgprint(" "); msgprint(" 목표출력패턴 "); pattern // generate a network w = genlayer(pattern, target, [-0.1 0.1]); [n m]=size(target); b = -0.5*ones(1,m); msgprint(" "); msgprint(" weight 초기화 "); w // train the network using the Hebbian learning rule. // the input and the target are the same // learning rate is 0.2, decay rate is 0.05 w = trainheb(w, pattern, target, 50, 0.2, 0.05); // test the network output=simulnet(w, b, "hardlim", pattern); e = errornet(w, b, "hardlim", pattern, target); msgprint(" "); msgprint(" ( 네트워크출력 ) - ( 목표출력 )");

output - target msgprint(" "); msgprint(" 평균제곱오차 : "); e ------------------------------------------------------------ λ λ

η η CEMTool>> pattern = [-1.0-1.5 0.5 1.5 1.0 0.0 2.0 2.5 1.0-1.0; CEMTool>> target = [ 1 1 1 1 1 0 0 0 0 0]'; 0.0-1.0 1.0 0.5 2.0-3.0 0.0-1.0-2.0-1.0]'; CEMTool>> [w b] = genlayer(pattern, target, [-0.1 0.1], "b"); CEMTool>> [w b errors] = trainpc(w,b,pattern,target,0.1,100,0.01);

% 퍼셉트론을이용한패턴분류데모 (demo_pc.cem) ------------------------------------------------------------ /* 퍼셉트론 (perceptron) 학습규칙데모 - 2차원평면상의두집합을구분하는문제 */ msgprint(" "); msgprint(" 퍼셉트론학습규칙을사용하여 2차원평면상의점들을 "); msgprint(" 두개의집합으로구분한다."); msgprint(" "); // 6, 2-element input vectors. pattern = [-1.0-1.5 0.5 1.5 1.0 0.0 2.0 2.5 1.0-1.0; 0.0-1.0 1.0 0.5 2.0-3.0 0.0-1.0-2.0-1.0]';

// target vector target = [ 1 1 1 1 1 0 0 0 0 0]'; figure; plot(pattern(1:5;1), pattern(1:5;2), "o", pattern(6:10;1), pattern(6:10;2), "xb"); xtitle("x"); ytitle("y"); title(" 하나의퍼셉트론을사용한 2개의집합분류 ") // generate a network [w b] = genlayer(pattern, target, [-0.1 0.1], "b"); // train the network using perceptron learning rule. // learning rate is 0.5, training epoch 100, error level 0.01 [w b errors] = trainpc(w, b, pattern, target, 0.1, 100, 0.01); // test the network with point (-1,0) -> 1 left=[-2 3]; right=[2*w(1)/w(2)-b/w(2) -3*w(1)/w(2)-b/w(2)]; figure; plot(pattern(1:5;1), pattern(1:5;2), "o", pattern(6:10;1), pattern(6:10;2), "xb", left, right); xtitle("x"); ytitle("y"); title(" 퍼셉트론을사용한분류결과 ") ------------------------------------------------------------

Δ η η Δ η π CEMTool>> x=linspace(0,8*pi,100)'; CEMTool>> pattern = [sin(x) cos(x)];

CEMTool>> target = pattern*[3.2; -1.7]+2.5; CEMTool>> [w b] = genlayer(pattern, target, [-0.1 0.1], "b"); CEMTool>> [w b errors] = trainwh(w, b, pattern, target, 0.1, 10);

CEMTool>> w CEMTool>> b % Widrow-Hoff 학습규칙을이용한학습데모 (demo_lin.cem) ------------------------------------------------------------ // input, output training signal x=linspace(0,8*pi,100)'; pattern = [sin(x) cos(x)]; target = pattern*[3.2; -1.7]+2.5; figure; plot(x, pattern, "b", x, target, "r"); title(" 학습패턴 ( 입력 - 푸른색, 출력 - 붉은색 )"); // generate a network [w b] = genlayer(pattern, target, [-0.1 0.1], "b"); // train the network using Widrow-Hoff rule. // learning rate is 0.01 [w b errors] = trainwh(w, b, pattern, target, 0.01, 10); // training result y=simulnet(w,b,"linear",pattern); plot(x, pattern, "b", x, target, "r", x, y, "B*"); title(" 학습결과 ( 입력-푸른색, 출력-붉은색 )"); // error curve

figure; plot(1:max(size(errors)),errors); xtitle(" 학습회수 "); ytitle(" 평균제곱오차 "); title(" 학습과정 "); msgprint(" "); msgprint(" 학습된계수 : ") w msgprint(" 학습된바이어스 :"); b msgprint(" "); ------------------------------------------------------------ η

Δ η η π CEMTool>> x=linspace(0,4*pi,50)'; CEMTool>> pattern = [sin(x) cos(x)]; CEMTool>> target = (pattern*[4; -3]+1)/8; CEMTool>> [w b] = genlayer(pattern, target, [-0.1 0.1], "b"); CEMTool>> [w b errors] = trainwh(w,b,pattern,target,0.1,10,0.0002);

% 델타학습규칙을이용한학습데모 (demo_del.cem) ------------------------------------------------------------ msgprint(" 단층신경망을델타학습규칙을사용하여학습한다."); msgprint(" 그림의학습하려는함수는아래두개의삼각함수의 "); msgprint(" 선형조합으로얻어진다."); msgprint(" y = (4*sin(x) - 3*cos(x) + 1)/8"); // input, output training signal x=linspace(0,4*pi,50)'; pattern = [sin(x) cos(x)]; target = (pattern*[4; -3]+1.0)/8; figure; plot(x, pattern, "b", x, target, "r"); title(" 학습패턴 ( 입력 - 푸른색, 출력 - 붉은색 )"); // generate a network

[w b] = genlayer(pattern, target, [-0.1 0.1], "b"); // train the network using delta learning rule. // learning rate is 0.051 // maximum training number is 10 // stop if error is smaller than 0.0002 [w b errors] = traindelt(w, b, "tansig", pattern, target, 0.05, 10, 0.0002) // training result y=simulnet(w,b,"tansig",pattern); plot(x, pattern, "b", x, target, "r", x, y, "B*"); title(" 학습결과 ( 입력-푸른색, 출력-붉은색 )"); // error curve figure; plot(1:max(size(errors)),errors); xtitle(" 학습회수 "); ytitle(" 평균제곱오차 "); title(" 학습과정 "); msgprint(" "); msgprint(" 학습된계수 : ") w msgprint(" 학습된바이어스 :"); b msgprint(" "); ------------------------------------------------------------

Δ η

δ η δ α δ δ η α

CEMTool>> pattern = [0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 1 1 1 0; 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1; 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 0; 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0; 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0; 0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0; 1 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0; 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0; 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1; 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0]; CEMTool>> target=eye(10); CEMTool>> [w1 b1 w2 b2] = genmlp(pattern, 9, target, [-0.1 0.1]);

CEMTool>> [w1 b1 w2 b2 errs esave] = trainbp(w1, b1, "tansig", w2, b2, "logsig", pattern, target, 0.5, 1.5, 2000, 0.01); CEMTool>> out=simulnet(w1,b1,"tansig",w2,b2,"logsig",pattern);

% 다층인식자를사용한숫자인식데모 (demo_mlp2.cem) ------------------------------------------------------------- msgprint(" 오차역전파학습을이용한숫자인식 "); msgprint(" "); msgprint(" 숫자패턴 "); msgprint(" "); msgprint(" # ## ### # # #### ### #### ## ## ## ");

msgprint("## # # # # # # # # # # # # # #"); msgprint(" # # # #### ### ### # ## ### # #"); msgprint(" # # # # # # # # # # # # #"); msgprint("### #### ### # ### ## # ## #### ## "); // 6, 2-element input vectors. pattern = [0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 1 1 1 0; 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1; 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 0; 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0; 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0; 0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0; 1 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0; 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0; 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1; 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0]; [N M]=size(pattern); // 패턴개수 target=eye(n); // target vector // generate a network [w1 b1 w2 b2] = genmlp(pattern, 9, target, [-0.1 0.1]); // train the network using percetron learning rule. [w1 b1 w2 b2 errs esave] = trainbp(w1, b1, "tansig", w2, b2, "logsig", pattern, target, 0.5, 1.5, 2000, 0.01); // display the training result out=simulnet(w1,b1,"tansig",w2,b2,"logsig",pattern); [a output]=max(out); output=rem(output,n); msgprint(" ") msgprint(" 학습결과 "); show="? -------->?"; for(i=1; i<=n; i=i+1) { show(4)=int2str(rem(i,n)); show(18)=int2str(output(i)); msgprint(show);

} // test the network with perturbed patterns [a b]=size(pattern); pat=zeros(size(pattern)); for(i=1; i<=a; i=i+1) { for(j=1; j<=a; j=j+1) { if(rand(1)<0.1) // 10 percents perturbation pat(i;j)=1-pattern(i;j); else pat(i;j)=pattern(i;j); } } out=simulnet(w1,b1,"tansig",w2,b2,"logsig",pat); [a output]=max(out); output=rem(output,10); msgprint(" "); msgprint(" 테스트결과 "); show="? -------->?"; for(i=1; i<=n; i=i+1) { show(4)=int2str(rem(i,n)); show(18)=int2str(output(i)); msgprint(show); } -------------------------------------------------------------

α α

α α α ρ π CEMTool>> pattern=linspace(0,4*pi,300)'; CEMTool>> target=sin(3*pattern)+0.2*pattern; γ CEMTool>> [c w e]=trainrbf(pattern,target,50,5,"d");

γ CEMTool>> out=simulrbf(c,w,gamma,tp); % RBFN 을사용해서 1 차원비선형함수를학습하는데모 (demo_rbf.cem)

----------------------------------------------------------------- % 입력패턴 : N개의점으로구성 N=300; pattern=linspace(0,4*pi,n)'; desired=sin(3*pattern)+0.2*pattern; % 학습 hidden=50; gamma=3; msgprint(" "); msgprint(" 학습중..."); msgprint(" "); [c w e]=trainrbf(pattern,desired,hidden,gamma,"d"); % 테스트집합구성 N=200; tp=sort(rand(n, 1))*4*pi; td=sin(3*tp)+0.2*tp; msgprint(" "); msgprint(" 테스트중..."); errs=testrbf(c,w,gamma,tp,td); out=simulrbf(c,w,gamma,tp); msgprint(" "); msgprint(" 테스트결과 ( 평균제곱오차 ) : "); mean(errs.*errs) //plot(tp,out,"r*",tp,td,"b",tp,errs,"c"); plot(tp,td,"b",tp,out,"r*"); title("rbfn 테스트결과 "); -----------------------------------------------------------------

μ γ γ μ μ μ ψ μ ψ μ μ ψ γ

γ α α α α

γ βγ β CEMTool>> pattern=linspace(-1,1,100)'; CEMTool>> target=zeros(100,1); CEMTool>> for(i=1; i<=100; i=i+1) { if(pattern(i)<-0.2) target(i)=-2.5*pattern(i)-1.5; else if(pattern(i)<0) target(i)=5*pattern(i); else target(i)=sin(15*pattern(i)/(pattern(i)+1)); } γ γ CEMTool>> [rf lf trainout]= trainplan(pattern,target,0.005,100,20,0.01,"d"); γ

CEMTool>> testout=simulplan(rf, lf, testp);

% PLAN을사용해서 1차원비선형함수를학습하는데모 (demo_plan1.cem) ------------------------------------------------------------------- % 입력패턴과목적값 P=linspace(-1,1,100)'; D=zeros(100,1); for(i=1; i<=100; i=i+1) { if(p(i)<-0.2) D(i)=-2.5*P(i)-1.5; else if(p(i)<0) D(i)=5*P(i); else D(i)=sin(15*P(i)/(P(i)+1)); } figure; plot(p,d,"b"); title(" 학습할함수 ");

% 입력파라미터 gamma=0.003; % RF의폭 T=100; % threshold value of regulation node errbound=0.0006; % 허용되는오차한계 MAX_TRAIN=20; % 하나의 gamma 값에대한학습회수 % 학습시키고결과 plot [rf lf errs]=trainplan(p,d,gamma,t,max_train,errbound,"d"); trainout=simulplan(rf,lf,p); plot(p,d,"b",p,trainout,"r"); title("plan의학습결과 "); % 테스트하고결과 plot(sort해서 ) testp=2*rand(100,1)-1; [testp order]=sort(testp); testd=zeros(100,1); for(i=1; i<=100; i=i+1) { if(testp(i)<-0.2) testd(i)=-2.5*testp(i)-1.5; else if(testp(i)<0) testd(i)=5*testp(i); else testd(i)=sin(15*testp(i)/(testp(i)+1)); } figure; testout=simulplan(rf, lf, testp); plot(testp,testd,"b",testp,testout,"r"); title("plan의테스트결과 "); -------------------------------------------------------------------

α α α CEMTool>> p=somplane(11,11,"grid"); CEMTool>> [w nb]=gensom(p,8,8,"line");

CEMTool>> w=trainsom(w,nb,p,10,30,0.1,100,100,1); τ η τ

% 2차원패턴을 1차원이웃으로구성된 SOM을사용해서학습하는데모 (demo_som2.cem) ------------------------------------------------------------------- p=somplane(11,11,"grid"); figure; plot(p(:,1),p(:,2),"or"); title("2차원입력데이터 "); [w nb]=gensom(p,8,8,"line"); figure; plotsom(w,nb); title("1차원연결뉴런들의초기위치 "); figure; w=trainsom(w,nb,p,10,30,0.1,100,100,1); -------------------------------------------------------------------

신경망활성함수 함수이름 설명 쓰이는곳 hardlim 문턱값활성함수 2,3장 linear 선형활성함수 2,3장 plinear 부분선형활성함수 2,3장 tansig Hyperbolic tangent sigmoid 2,3장 logsig Logistic sigmoid 2,3장 rbf Radial basis function 2,4장 nntf 신경망활성함수설명 2,3,4장 단층인식자 함수이름 설명 쓰이는곳 genlayer 하나의뉴런층 (layer) 생성 2장 trainheb Hebbian 학습규칙 2.2.1절 trainpc 퍼셉트론학습규칙 2.2.2절 trainwh Widrow-Hoff 학습규칙 2.2.3절 traindelt 델타학습규칙 2.2.4절 simulnet 앞먹임신경망의출력계산 2,3장 errornet 앞먹임신경망의오차계산 2,3장 다층인식자 함수이름 설명 쓰이는곳 genmlp 다층인식자생성 3장 trainbp 역전파학습규칙 3장 simulnet 앞먹임신경망의출력계산 3장 errornet 앞먹임신경망의오차계산 3장

방사형기저함수망 (RBFN) 함수이름 설명 쓰이는곳 trainrbf 직교최소제곱법으로 RBFN 학습 4장 simulrbf RBFN의출력계산 4장 testrbf RBFN의오차계산 4장 부분선형근사신경회로망 (PLAN) 함수이름 설명 쓰이는곳 trainplan PLAN 학습 5장 simulplan PLAN의출력계산 5장 testplan PLAN의오차계산 5장 자기구성신경회로망 (SOM) 함수이름 설명 쓰이는곳 distance 데이터간의거리를여러방법으로계산 6장 nbmat 뉴런의이웃과의거리를행렬로생성 6장 neighbor 주어진거리내에속하는뉴런을검색 6장 somplane SOM의뉴런들을 2차원평면상에생성 6장 gensom SOM 생성 6장 trainsom SOM 학습 6장 simulsom 입력과가장가까운뉴런검색 6장 plotsom SOM의연결관계를도시 6장 som SOM 관련함수설명 6장

hardlim 목적 hard limit 전달함수의출력을계산 문법 Y = HARDLIM(X,B) 입력 X : PxR 행렬 B : Px1 바이어스벡터 출력 Y : PxR 행렬 설명 (i,j) 원소는 hardlim(x(i;j)-b(i)) 이다. 바이어스벡터는생략할수있으며, 이때는 0 으로간주한다. 사용예제 CEMTool>> X = [-2 1;3 0]; CEMTool>> B = [0; -1]; CEMTool>> Y = hardlim(x,b) Y = 0 1 1 0 관련함수 nntf 종류신경회로망툴박스함수

linear 목적 linear 전달함수의출력을계산 문법 Y = LINEAR(X, OPTION) 입력 X : PxR 행렬 OPTION : "d" - 미분값출력 출력 Y : PxR 행렬 설명입력값을그대로출력하는전달함수이다. 미분옵션이주어지면 1 을리턴한다. 사용예제 CEMTool>> X = [-2 1;1 3]; CEMTool>> Y1 = linear(x) Y1 = -2 1 1 3 CEMTool>> Y2 = linear(x,"d") Y2 = 1 1 1 1 관련함수 nntf 종류신경회로망툴박스함수

plinear 목적부분선형전달함수의출력을계산 문법 Y = PLINEAR(X, LOW, HIGH, OPTION) 입력 X : PxR 행렬 LOW : 출력이 0이되는점중가장큰값 HIGH : 출력이 1이되는점중가장작은값 OPTION : "d" - 미분값출력 출력 Y : PxR 행렬 설명 1, if x-high>=0 (x-low)/(high-low), if low<=x<high 0, if x<low 사용예제 CEMTool>> X = [0-3;1 6]; CEMTool>> Y = plinear(x,-1,3) Y = 0.2500 0.0000 0.5000 1.0000 관련함수 nntf 종류신경회로망툴박스함수

tansig 목적 hyperbolic tangent sigmoid 전달함수의출력을계산 문법 Y = TANSIG(X, OPTION) 입력 X : PxR 행렬 OPTION : "d" - 미분값출력 출력 Y : PxR 행렬 설명 사용예제 CEMTool>> X = [-2 1;1 3]; CEMTool>> Y1 = tansig(x) Y1 = -0.9640 0.7616 0.7616 0.9951 CEMTool>> Y2 = tansig(x,"d") Y2 = 0.0707 0.4200 0.4200 0.0099 관련함수 logsig, nntf 종류신경회로망툴박스함수

logsig 목적 logistic sigmoid 전달함수의출력을계산 문법 Y = LOGSIG(X, OPTION) 입력 X : PxR 행렬 OPTION : "d" - 미분값출력 출력 Y : PxR 행렬 설명 사용예제 CEMTool>> X = [-2 1;1 3]; CEMTool>> Y1 = logsig(x) Y1 = 0.1192 0.7311 0.7311 0.9526 CEMTool>> Y2 = logsig(x,"d") Y2 = 0.1050 0.1966 0.1966 0.0452 관련함수 tansig, nntf 종류신경회로망툴박스함수

rbf 목적 radial basis 전달함수의출력을계산 문법 Y = RBF(X, C, W) 입력 X : PxR 행렬 C : QxR 중심값행렬 W : radial basis 함수의폭 출력 Y : PxQ 행렬 설명 사용예제 CEMTool>> X = [0 1;1 1]; CEMTool>> C = [1 2]; CEMTool>> Y = rbf(x,c,3) Y = 0.5134 0.7165 관련함수 nntf 종류신경회로망툴박스함수

genlayer 목적앞먹임신경회로망의층하나를생성 문법 [W, B] = GENLAYER(INPUT, OUTPUT, RANGE, OPTION) 입력 INPUT : PxQ 입력패턴행렬혹은입력벡터의길이 OUTPUT : PxR 출력패턴행렬혹은출력벡터의길이 RANGE : 가중치의최소, 최대값벡터 [min max] 생략하면 [-1 1] 로간주 OPTION : "b" - bias 벡터생성 출력 W B : QxR 가중치행렬 : 1xR bias 벡터 설명앞먹임신경망의층을하나생성시킨다. INPUT, OUTPUT 은입출력패턴이올수도있고, 입출력패턴의길이가올수도있다. 초기화되는가중치와바이어스의범위를지정해줄수있으며, 범위가주어지지않으면, [-1 1] 사이의값으로생성한다. 바이어스는옵션으로지정할때에만생성된다. 사용예제 CEMTool>> W = genlayer(3,4,[0.1 0.2]) W = 0.1498 0.1079 0.1272 0.1924 0.1358 0.1585 0.1192 0.1933 0.1955 0.1742 0.1882 0.1294 CEMTool>> [W B] = genlayer(3,4,[0.1 0.2],"b") W = 0.1211 0.1343 0.1431 0.1862 0.1224 0.1995 0.1871 0.1987 0.1926 0.1088 0.1937 0.1219 B = 0.1909 0.1165 0.1220 0.1814 관련함수 genmlp 종류신경회로망툴박스함수

trainheb 목적 Hebbian 학습규칙으로신경회로망학습 문법 W = TRAINHEB(WEIGHT, INPUT, OUTPUT, EPOCH, LRATE, DRATE) 입력 WEIGHT : QxR 가중치행렬 INPUT : PxQ 입력행렬 OUTPUT : PxR 출력행렬 EPOCH : 학습회수 LRATE : 학습률 (learing rate) DRATE : 감쇄율 (decay rate) 출력 W : QxR 학습된가중치행렬 설명 Hebbian 학습규칙은같은시간에두뉴런의활성이크면이들뉴런사이의연결가중치를증가시키는훈련방법이다. 연결가중치의변화는학습률에의해조절된다. 이때연결가중치가발산하는경우가있는데, 감쇄율을사용하여조절할수있다. γ η 가중치 패턴 출력 γ 학습률 η 감쇄율 Ref Haykin, S., Neural Networks, 2nd Edition, Prentice-Hall, New Jersey, 1999 Lin, C.-T. and George, C.S. Lee, Neural Fuzzy Systems, Prentice-Hall, New Jersey, 1996 사용예제 CEMTool>> P = [1 0 0; 0 1 0; 0 0 1; 1 1 1]; CEMTool>> W = genlayer(p,p,[-0.1 0.1]); CEMTool>> B = 0.5*ones(1,3); CEMTool>> W = trainheb(w,p,p,50,0.2,0.05); CEMTool>> simulnet(w,b,"hardlim",p) 0 1 0 1 0 0 0 0 1

관련함수 genlayer, simulnet, demo_hebb 종류신경회로망툴박스함수

trainpc 목적퍼셉트론학습규칙으로네트워크훈련 문법 [W,B,ERRORS] = TRAINPC(WEIGHT,BIAS,PATTERN,TARGET,LRATE,EPOCH,EBOUND) 입력 WEIGHT : QxR 가중치행렬 BIAS : Qx1 bias 벡터 PATTERN : PxQ 입력패턴행렬 TARGET : PxR 목적행렬 LRATE : 학습률 EPOCH : 학습회수 EBOUND : 허용오차한계 출력 W : QxR 학습된가중치행렬 B : Qx1 학습된 bias 벡터 ERRORS : 학습과정을저장한오차벡터 설명선형적으로분리될수있는벡터집합을분류하는신경회로망을훈련시키는함수이다. 출력은 0 과 1 로구성된다. 퍼셉트론학습규칙은다음과같다. γ γ 가중치 바이어스 패턴 학습지도값 오차 γ 학습률 Ref Haykin, S., Neural Networks, 2nd Edition, Prentice-Hall, New Jersey, 1999 Lin, C.-T. and George, C.S. Lee, Neural Fuzzy Systems, Prentice-Hall, New Jersey, 1996 사용예제 CEMTool>> P = [-1 1; 1 1; -1-1; 1-1]; CEMTool>> T = [1 1 0 0]'; CEMTool>> [W B] = genlayer(p,t,[-0.1 0.1],"b"); CEMTool>> [W B E] = trainpc(w,b,p,t,0.1,100,0.01); CEMTool>> Y = simulnet(w,b,"hardlim",p)

Y = 1 1 0 0 관련함수 genlayer, simulnet, errornet, demo_pc 종류신경회로망툴박스함수

trainwh 목적 Widrow-Hoff 학습규칙으로신경회로망훈련 문법 [W,B,ERRORS] = TRAINWH(WEIGHT, BIAS, PATTERN, TARGET, LRATE, EPOCH) 입력 WEIGHT : QxR 가중치행렬 BIAS : Qx1 bias 벡터 PATTERN : PxQ 입력패턴행렬 TARGET : PxR 목적행렬 LRATE : 학습률 EPOCH : 학습회수 출력 W : QxR 학습된가중치행렬 B : Qx1 학습된바이어스벡터 ERRORS : 오차벡터 ( 학습에따른평균제곱오차 ) 설명 Widrow-Hoff 학습규칙에의해선형신경망을훈련시킨다. 이때학습시킬신경망은은닉층이없는단층신경회로망이어야한다. γ γ 가중치 바이어스 패턴 학습지도값 오차 γ 학습률 Ref Haykin, S., Neural Networks, 2nd Edition, Prentice-Hall, New Jersey, 1999 Lin, C.-T. and George, C.S. Lee, Neural Fuzzy Systems, Prentice-Hall, New Jersey, 1996 사용예제 CEMTool>> X = linspace(0,2*pi,100)'; CEMTool>> P = [sin(x) cos(x)]; CEMTool>> T = P*[2; -1]+3; CEMTool>> [W B] = genlayer(p,t,[-0.1 0.1],"b"); CEMTool>> [W B E] = trainwh(w,b,p,t,0.1,20); CEMTool>> W 1.9999

CEMTool>> B -1.0003 3.0003 관련함수 genlayer, simulnet, errornet, demo_lin 종류신경회로망툴박스함수

traindelt 목적델타학습규칙으로신경회로망훈련 문법 [W,B,ERRORS] = TRAINWH(WEIGHT,BIAS,TF,PATTERN,TARGET,LRATE,EPOCH,BOUND) 입력 WEIGHT : QxR 가중치행렬 BIAS : Qx1 bias 벡터 TF : 활성함수 PATTERN : PxQ 입력패턴행렬 TARGET : PxR 목적행렬 LRATE : 학습률 EPOCH : 학습회수 출력 W : QxR 학습된가중치행렬 B : Qx1 학습된바이어스벡터 ERRORS : 오차벡터 ( 학습에따른평균제곱오차 ) 설명델타학습규칙에의해신경회로망을훈련시킨다. 델타학습규칙은다음과같다. γ γ 가중치 바이어스 패턴 학습지도값 오차 γ 학습률 활성함수 Ref Haykin, S., Neural Networks, 2nd Edition, Prentice-Hall, New Jersey, 1999 Lin, C.-T. and George, C.S. Lee, Neural Fuzzy Systems, Prentice-Hall, New Jersey, 1996 사용예제 CEMTool>> X = linspace(0,2*pi,100)'; CEMTool>> P = [sin(x) cos(x)]; CEMTool>> T = (P*[4; -3]+1)/8; CEMTool>> [W B] = genlayer(p,t,[-0.1 0.1],"b");

CEMTool>> [W B E] = traindelta(w,b,"tansig",p,t,0.05,10,0.0002); CEMTool>> W 0.5631-0.4209 CEMTool>> B 0.1543 관련함수 genlayer, simulnet, errornet, demo_del 종류신경회로망툴박스함수

simulnet 목적단층, 다층인식자의출력계산 문법 Y = SIMULNET(W1,B1,TF1,W2,B2,TF2,W3,B3,TF3,W4,B4,TF4,PATTERN) 입력 W1 : QxR 층1과층2 사이의가중치행렬 B1 : 1xQ 층2의바이어스벡터 TF1 : 층2의전달함수 W2 : RxS 층2와층3 사이의가중치행렬 B2 : Sx1 층3의바이어스벡터 TF2 : 층3의전달함수 W3 : SxT 층3과층4 사이의가중치행렬 B3 : 1xS 층4의바이어스벡터 TF3 : 층4의전달함수 W4 : TxU 층4과층5 사이의가중치행렬 B4 : 1xT 층5의바이어스벡터 TF4 : 층5의전달함수 PATTERN : PxQ 입력패턴행렬 출력 Y : PxT 출력행렬 설명다층인식자에대해입력에의해나타나는대한출력을구한다. 신경망은층을은닉층 3 층을포함하여 4 개까지가질수있고각각층마다다른전달함수를사용할수있다. 사용예제 CEMTool>> P = [1-3 2; 4 1 1]; CEMTool>> [W1 B1 W2 B2 W3 B3]=genmlp(P,[5 4],2,[-0.1 0.1]); CEMTool>> Y = simulnet(w1,b1,"logsig",w2,b2,"tansig",w3,b3,"linear",p) Y = 0.0332-0.0769 0.0344-0.0761 관련함수 genlayer, errornet 종류신경회로망툴박스함수

errornet 목적단층, 다층인식자의주어진패턴에대한오차계산 문법 E = ERRORNET(W1, B1, TF1, W2, B2, TF2, W3, B3, TF3, W4, B4, TF4, PATTERN, TARGET) 입력 W1 : QxR 층1과층2 사이의가중치행렬 B1 : 1xQ 층2의 bias 벡터 TF1 : 층2의전달함수 W2 : RxS 층2와층3 사이의가중치행렬 B2 : Sx1 층3의 bias 벡터 TF2 : 층3의전달함수 W3 : SxT 층3과층4 사이의가중치행렬 B3 : 1xS 층4의 bias 벡터 TF3 : 층4의전달함수 W4 : TxU 층4과층5 사이의가중치행렬 B4 : 1xT 층5의 bias 벡터 TF4 : 층5의전달함수 PATTERN : PxQ 입력패턴행렬 TARGET : PxU 목표출력행렬 출력 E : 평균제곱오차 설명앞먹임다층인식자에대해입력과목표출력을가지고신경회로망의오차를계산한다. 신경망은층을 5 개까지가질수있으며, 각각의층마다다른전달함수를사용할수있다. 오차로는모든패턴에대한오차의제곱의평균을출력한다. 사용예제 CEMTool>> P = [1-3 2; 4 1 1]; CEMTool>> T = [0; 1]; CEMTool>> [W1 B1 W2 B2 W3 B3]=genmlp(P,[5 4],T,[-0.1 0.1]); CEMTool>> E = errornet(w1,b1,"logsig",w2,b2,"tansig",w3,b3, "linear",p) E = 0.4409 (weight 가임의로생성되므로값이일정하지는않음 )

관련함수 simulnet, trainbp 종류신경회로망툴박스함수

genmlp 목적다층인식자생성 문법 [W1,B1,W2,B2,W3,B3,W4,B4,...] = GENMLP(INPUT, HIDDEN, OUTPUT, RANGE) 입력 INPUT : PxQ 입력패턴행렬혹은입력벡터의길이 HIDDEN : 은닉층의노드수벡터 ( 최대 3 개까지지원 ) OUTPUT : PxR 출력패턴행렬혹은출력벡터의길이 RANGE : 가중치의최소, 최대값벡터 ([min max]) 생략하면 [-1 1] 로간주 출력 W1, W2... : 가중치행렬 B1, B2... : bias 벡터 설명다층인식자를생성시킨다. INPUT, OUTPUT은입출력패턴이올수도있고, 입출력패턴의길이가올수도있다. HIDDEN은은닉층의뉴런의개수를지정하는벡터이다. 은닉층이하나이면숫자가되고, 여러개이면각층의뉴런수를표시하는벡터가된다. 은닉층은 3층까지만지원된다. 예를들어 2개의은닉층이각각 4개와 5개의노드를갖는다고하면 HIDDEN=[4 5] 가된다. 은닉층은최대 3개까지지정할수있다. RANGE 값이주어지지않으면 [-1 1] 사이의임의값으로모든값을초기화한다. 사용예제 CEMTool>> [W1 B1 W2 B2 W3 B3]=genmlp(3,[5 4],2,[-0.1 0.1]) W1 = -0.0638 0.0938 0.0402-0.0806-0.0284-0.0706 0.0049-0.0516 0.0267-0.0330 0.0798 0.0996-0.0167 0.0793-0.0572 B1 = -0.0629-0.0326-0.0026 0.0863 0.0210 W2 = 0.0299-0.0476 0.0335 0.0222-0.0346 0.0250 0.0894-0.0198 0.0876-0.0026 0.0948-0.0525 0.0795 0.0007-0.0469-0.0365-0.0614-0.0482-0.0019 0.0027 B2 = -0.0655 0.0736-0.0288 0.0402 W3 = -0.0019 0.0917

B3 = 0.0776 0.0788 0.0614 0.0025 0.0890 0.0806-0.0335 0.0053 관련함수 genlayer, trainbp 종류신경회로망툴박스함수

trainbp 목적오차역전파학습 (backpropagation learning) 규칙으로다층인식자학습 문법 [W1 B1 W2 B2 ERRS ESAVE] = TRAINBP(W1,B1,TF1,W2,B2,TF2,PATTERN,TARGET, LRATE,MOMEN,EPOCH,BOUND,OPTION) 입력 W1 : QxR 층1과층2 사이의가중치행렬 B1 : 1xQ 층2의 bias 벡터 TF1 : 층2의전달함수 W2 : RxS 층2와층3 사이의가중치행렬 B2 : Sx1 층3의 bias 벡터 TF2 : 층3의전달함수 PATTERN : PxQ 입력패턴행렬 TARGET : PxS 목적값행렬 LRATE : 학습률 (learning rate) MOMEN : 관성률 (momentum) EPOCH : 최대학습회수 BOUDN : 허용오차한계 OPTION : "d" - 학습중에메시지출력 출력 W1 B1 W2 B2 ERRS ESAVE : 학습된가중치행렬 : 학습된 bias 벡터 : 학습된가중치행렬 : 학습된 bias 벡터 : Px1 각패턴의오차 : 학습과정을저장한오차벡터 10번학습할때 1번저장 설명오차역전파학습규칙은하나의연결가중치가출력오차에미치는영향을출력층으로부터역으로추산하여학습을진행하는방식이다. 학습률은연결가중치를변화시키는크기를조절한다. 관성률은학습이진행되어온방향으로가중치를줌으로써학습속도를높이는효과를준다. 학습은 EPOCH 로표시한학습회수가다할때까지계속되지만, 그이전에오차가한계보다작아지면중단된다. 학습방법은현재입력패턴전체에대해한번갱신하는 Batch 학습방식만지원한다. Ref Haykin, S., Neural Networks, 2nd Editoin, Prentice-Hall, New Jersey,

1999 Lin, C.-T. and George, C.S. Lee, Neural Fuzzy Systems, Prentice-Hall, New Jersey, 1996 사용예제 CEMTool>> P = [1-3 2; 4 1 1]; CEMTool>> T = [0; 1]; CEMTool>> [W1 B1 W2 B2] = genmlp(p,4,t,[-0.1 0.1]); CEMTool>> [W1 B1 W2 B2 E ESAVE]=trainbp(W1,B1,"tansig",W2,B2,"logsig", P,T,0.5,0.5,1000,0.01); CEMTool>> Y = simulnet(w1,b1,"tansig",w2,b2,"logsig",p) Y = 0.0216 0.9734 (weight 가임의로생성되므로값이일정하지는않음 ) 관련함수 genmlp, simulnet, errornet, demo_bp1, demo_bp2 종류신경회로망툴박스함수

trainrbf 목적 radial basis 함수네트워크학습 문법 [CENTER, WEIGHT] = TRAINRBF(PATTERN, TARGET, HIDDEN, GAMMA, OPTION) 입력 PATTERN : PxR 입력패턴행렬 TARGET : Px1 목표출력벡터 HIDDEN : 은닉층의최대노드수 GAMMA : radial basis 함수의폭 OPTION : "d" - 학습중에메시지를화면에표시 출력 CENTER : radial basis 함수의중심값행렬 WEIGHT : 은닉층에서출력노드사이의가중치벡터 ERR : Px1 각각으패턴에대한학습오차 설명 trainrbf 는 radial basis 함수네트워크를학습시키는함수이다. 직교최소제곱법 (orthogonal least square) 을사용하여오차를가장많이줄여주는패턴을중심으로갖는노드를생성시키면서학습한다. Ref Chen, S., "Orthogonal Least Square Learning Algorithm for Radial Basis Function Networks," IEEE Trans. Neural Networks, Vol. 2, No. 2, 1991 사용예제 CEMTool>> X = [5 1;2 3]; CEMTool>> D = [1; 2]; CEMTool>> [C W] = trainrbf(x,d,10,3); CEMTool>> simulrbf(c,w,3,x) 1 2 관련함수 rbf, simulrbf, testrbf, demo_rbf 종류신경회로망툴박스함수

simulrbf 목적 radial basis 함수네트워크의출력을계산 문법 Y = SIMULRBF(CETER, WEIGHT, GAMMA, PATTERN) 입력 CENTER : QxR 중심값행렬 WEIGHT : Qx1 가중치벡터 GAMMA : radial basis 함수의폭 PATTERN : PxR 입력패턴행렬 출력 Y : Px1 출력벡터 설명학습된 radial basis 함수네트워크에대한출력을구한다. 사용예제 CEMTool>> X = [5 1;2 3]; CEMTool>> D = [1; 2]; CEMTool>> [C W] = trainrbf(x,d,10,3); CEMTool>> Y = simulrbf(c,w,3,x) Y = 1 2 관련함수 trainrbf, testrbf, rbf, demo_rbf 종류신경회로망툴박스함수

testrbf 목적 radial basis 전달함수네트워크의오차계산 문법 ERRS = TESTRBF(CENTER, WEIGHT, GAMMA, PATTERN, TARGET) 입력 CENTER : QxR 중심값행렬 WEIGHT : Qx1 가중치벡터 GAMMA : radial basis 함수의폭 PATTERN : PxR 입력패턴행렬 TARGET : Px1 원하는출력벡터 출력 ERRS : Px1 오차벡터 설명학습된 RBFN 에대해주어진입력과목표출력값을이용하여네트워크의오차를구한다. ( 오차 ) = (RBFN 의출력 ) - ( 목표값 ) 사용예제 CEMTool>> X = [5 1;2 3]; CEMTool>> D = [1; 2]; CEMTool>> [C W] = trainrbf(x,d,10,3); CEMTool>> ERR = testrbf(c,w,3,x,d) ERR = 0 0 관련함수 nntf 종류신경회로망툴박스함수

trainplan 목적부분선형근사신경회로망 (PLAN) 학습 문법 [RF, LF, ERRS] = TRAINPLAN(PATTERN,TARGET,GM,THRES,MAXNUM,ERRB,OLDRF, OLDLF,OPTION) 입력 PATTERN : PxR 입력패턴 TARGET : Px1 출력벡터 GM : receptive field의폭을결정하는값 THRES : receptive field에속하는지판단하는문턱값 MAXNUM : 주어진 GM에대한최대학습회수 ERRB : 허용하는오차한도 OLDRF : 미리학습되어있는 RF 행렬 ( 생략가능 ) OLDLF : 미리학습되어있는 LF 행렬 ( 생략가능 ) OPTION : "f" - gamma 값을고정 "d" - 학습상황표시 출력 RF LF ERRS : Mx(R+2) RF 노드의중심벡터, 폭, 학습회수 : Mx(R+1+(R+1)^2) LF 노드의가중치와자기상관행렬벡터 : Px1 각각의입력에대한오차벡터 설명 PLAN 은임의의비선형사상을국부영역에서유사사상으로근사한다. 각노드는 RF 와 LF 를갖는데, RF 는국부영역을표현하고, LF 는그영역을선형으로근사한다. 초기에주어진 gamma 값으로충분히근사할수없으면, 0.9*gamma 로줄여서계속학습을시도한다. Ref Choi, C.-H. and Choi. J.Y., "Constructive Neural Networks with Piecewise Interpolation Capabilities for Function Approximations," IEEE Trans. on Neural Networks, Vol.5, No.6, 1994. 사용예제 CEMTool>> X = [5 1;2 3]; CEMTool>> D = [1; 2]; CEMTool>> [RF LF OUT] = trainplan(x,d,0.5,100,10,0.01); CEMTool>> Y = simulplan(rf,lf,x) Y =

1.0000 2.0000 관련함수 simulplan, testplan 종류신경회로망툴박스함수

simulplan 목적부분선형근사신경회로망 (PLAN) 의출력계산 문법 Y = SIMULPLAN(RF, LF, PATTERN) 입력 RF : Mx(R+2) RF 노드행렬 LF : Mx(R+1+(R+1)^2) LF 노드행렬 PATTERN : PxR 입력패턴 출력 Y : Px1 출력벡터 설명학습된 PLAN 의출력을구한다. 사용예제 CEMTool>> X = [5 1;2 3]; CEMTool>> D = [1; 2]; CEMTool>> [RF LF OUT] = trainplan(x,d,0.5,100,10,0.01); CEMTool>> Y = simulplan(rf,lf,x) Y = 1.0000 2.0000 관련함수 trainplan, testplan 종류신경회로망툴박스함수

testplan 목적부분선형학습신경회로망 (PLAN) 의오차계산 문법 ERRS = TESTPLAN(RF, LF, PATTERN, TARGET) 입력 PATTERN : PxR 입력패턴 TARGET : Px1 출력벡터 RF : Mx(R+2) RF 노드행렬 LF : Mx(R+1+(R+1)^2) LF 노드행렬 출력 ERRS : Px1 오차벡터 설명학습된 PLAN 에대해주어진입력과목표출력값을이용하여 PLAN 의오차를구한다. ( 오차 ) = (PLAN 의출력 ) - ( 목표값 ) 사용예제 CEMTool>> X = [5 1;2 3]; CEMTool>> D = [1; 2]; CEMTool>> [RF LF OUT] = trainplan(x,d,0.5,100,10,0.01); CEMTool>> ERR = testplan(rf,lf,x,d) ERR = 0 0 관련함수 trainplan, simulplan 종류신경회로망툴박스함수

distance 목적데이터간의거리를여러가지 metric 을통하여계산 문법 D = DISTANCE(W, OPTION) 입력 W : PxQ 데이터패턴행렬 ( 하나의데이터는 1xQ 벡터 ) OPTION : "ucli" - 유클리드거리 "grid" - 대각선방향을 1 로취급 ( 한점에서같은거리를갖는집합의모양이정사각형 ) "diam" - 격자모양에서 1 간의거리를 1 로하여계산 ( 한점에서같은거리를갖는집합의모양이마름모 ) 출력 D : PxP 거리행렬 설명여러개의벡터들간의거리를계산하여하나의행렬에저장한다. D 행렬의 (i,j) 원소는 i 번째패턴과 j 번째패턴의거리를나타낸다. 따라서 D 는대칭행렬이며, 대각원소는모두 0 이다. 사용예제 CEMTool>> P = [1 2; 2 1; 3 4] P = 1 2 2 1 3 4 CEMTool>> D = distance(p,"ucli") D = 0.0000 1.4142 2.8284 1.4142 0.0000 3.1623 2.8284 3.1623 0.0000 CEMTool>> D = distance(p,"grid") D = 0 1 2 1 0 3 2 3 0 CEMTool>> D = distance(p,"diam")

D = 0 2 4 2 0 4 4 4 0 관련함수 nbmat, neighbor, somplane, som 종류신경회로망툴박스함수

nbmat 목적 SOM 뉴런의이웃과의연결관계에따른거리를행렬로생성한다. 문법 W = NBMAT(P, Q, OPTION) 입력 P : 생성할뉴런의행수 Q : 생성할뉴런의열수 OPTION : "line" - 뉴런들이 1개의선으로연결 (1차원뉴런 ) "circ" - 유클리드거리로이웃을결정 ( 하나의뉴런에서같은거리를갖는집합의모양이원 ) "grid" - 대각선방향을 1로취급 ( 하나의뉴런에서같은거리를갖는집합의모양이정사각형 ) "diam" - 격자모양에서 1간의거리를 1로하여계산 ( 하나의뉴런에서같은거리를갖는집합의모양이마름모 ) "hexa" - 육각형모양으로이웃이생성 출력 NB : (PQ)x(PQ) 뉴런간의거리행렬 설명입력패턴과생성할뉴런의수, 이웃간의관계를이용하여 2 차원 SOM 의뉴런들의연결관계에따른거리관계를생성한다. 사용예제 CEMTool>> P = [1 2; 2 1; 3 4] P = 1 2 2 1 3 4 CEMTool>> NB = nbmat(2,3,"circ") NB = 0.0000 1.0000 1.0000 1.4142 2.0000 2.2361 1.0000 0.0000 1.4142 1.0000 2.2361 2.0000 1.0000 1.4142 0.0000 1.0000 1.0000 1.4142 1.4142 1.0000 1.0000 0.0000 1.4142 1.0000 2.0000 2.2361 1.0000 1.4142 0.0000 1.0000 2.2361 2.0000 1.4142 1.0000 1.0000 0.0000

CEMTool>> NB = nbmat(2,3,"hexa") NB = 0.0000 1.0000 1.0000 1.7321 2.0000 2.6458 1.0000 0.0000 1.0000 1.0000 1.7321 2.0000 1.0000 1.0000 0.0000 1.0000 1.0000 1.7321 1.7321 1.0000 1.0000 0.0000 1.0000 1.0000 2.0000 1.7321 1.0000 1.0000 0.0000 1.0000 2.6458 2.0000 1.7321 1.0000 1.0000 0.0000 관련함수 distance, neighbor, somplane, som 종류신경회로망툴박스함수

neighbor 목적주어진뉴런에서정한거리내에속하는뉴런을찾아낸다. 문법 NB = NEIGHBOR(NM, P, D) 입력 NM : 뉴런간의거리가저장되어있는행렬 P : 이웃을구하고자하는뉴런 D : 이웃의최대거리 출력 NB : Rx2 행렬 ( 거리 D 내에있는이웃의수 ) NB(:,1) - 이웃이되는뉴런의번호 NB(:,2) - 이웃뉴런과의거리 설명주어진뉴런에서정한거리내에속하는뉴런을찾아서, 뉴런의번호와거리를행렬로표시한다. 사용예제 CEMTool>> P = [1 2; 2 1; 3 4] P = 1 2 2 1 3 4 CEMTool>> NM = nbmat(2,3,"circ") NM = 0.0000 1.0000 1.0000 1.4142 2.0000 2.2361 1.0000 0.0000 1.4142 1.0000 2.2361 2.0000 1.0000 1.4142 0.0000 1.0000 1.0000 1.4142 1.4142 1.0000 1.0000 0.0000 1.4142 1.0000 2.0000 2.2361 1.0000 1.4142 0.0000 1.0000 2.2361 2.0000 1.4142 1.0000 1.0000 0.0000 CEMTool>> NB = neighbor(nm,2,1.5) NB = 1.0000 1.0000 2.0000 0.0000 3.0000 1.4142 4.0000 1.0000

관련함수 distance, somplane, simulsom 종류신경회로망툴박스함수

somplane 목적 SOM 의뉴런의위치를주어진규칙에따라 2 차원평면상에만든다. 문법 PL = SOMPLANE(ROW, COL, OPTION) 입력 ROW : 생성할뉴런의행수 COL : 생성할뉴런의열수 OPTION : "grid" - 1 간격의 grid 마다하나의뉴런을만든다. "hexa" - 육각형모양으로뉴런을만든다. "rand" - 육각형모양에잡음을넣어만든다. 출력 NB : (ROWxCOL)x2 위치행렬 설명주어진옵션에따른모양에의해 (x,y) 좌표상의점을 ROWxCOL 개생성한다. 사용예제 CEMTool>> PL1 = SOMPLANE(3,3,"grid") PL1 = 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2 CEMTool>> PL2 = SOMPLANE(3,3,"hexa") PL2 = 0.0000 0.0000 0.5000 0.8660 0.0000 1.7321 1.0000 0.0000 1.5000 0.8660 1.0000 1.7321 2.0000 0.0000 2.5000 0.8660 2.0000 1.7321

관련함수 som 종류신경회로망툴박스함수

gensom 목적 SOM 을생성한다. 문법 [W NB] = GENSOM(P, M, N, OPTION) 입력 PATTERN : PxQ 패턴행렬 ( 하나의데이터는 1xQ 벡터 ) M : 생성하는뉴런의행수 N : 생성하는뉴런의열수 OPTION : "line" - 뉴런들이 1개의선으로연결 (1차원뉴런 ) "circ" - 유클리드거리로이웃을결정 ( 하나의뉴런에서같은거리를갖는집합의모양이원 ) "grid" - 대각선방향을 1로취급 ( 하나의뉴런에서같은거리를갖는집합의모양이정사각형 ) "diam" - 격자모양에서 1간의거리를 1로하여계산 ( 하나의뉴런에서같은거리를갖는집합의모양이마름모 ) "hexa" - 육각형모양으로이웃이생성 출력 W NB : MxN 생성뉴런행렬 : (MN)x(MN) 뉴런간의거리행렬 설명입력패턴과생성할뉴런의수, 이웃간의관계를이용하여하나의 SOM 을생성한다. 각차원에서입력패턴의최소값과최대값사이에존재하도록 W 가초기화되며, 주어진행, 열의수와옵션에의해이웃을가지도록 NB 가초기화된다. 사용예제 CEMTool>> P = [1 2; 2 1; 3 4] P = 1 2 2 1 3 4 CEMTool>> [W NB] = gensom(p,3,3,"circ") W = 0.0375 0.0120 0.0304 0.0817 0.0230 0.0748 0.0172 0.0063

NB = 0.0000 1.0000 1.0000 1.4142 1.0000 0.0000 1.4142 1.0000 1.0000 1.4142 0.0000 1.0000 1.4142 1.0000 1.0000 0.0000 관련함수 nbmat, somplane, distance, som 종류신경회로망툴박스함수

trainsom 목적 SOM 을학습한다 문법 W = TRAINSOM(W, NB, P, D0, TAU1, ETA0, TAU2, EPOCH, PPLOT) 입력 W : NxQ SOM 뉴런의연결강도행렬 NB : NxN 뉴런의거리행렬 P : MxQ 입력행렬 D0 : 이웃과의거리의초기값 (default : max(max(nb));) TAU1 : 이웃과의거리가줄어드는시상수 (default : 1000/log(D0)) ETA0 : 학습률의초기값 (default : 0.1) TAU2 : 학습률이줄어드는시상수 (default : 1000) EPOCH : 최대학습회수 (default : 2000) PPLOT : 뉴런상태를도시하는간격 (default : 100) 출력 W : NxQ 학습된뉴런의연결강도행렬 설명 SOM 을경쟁학습을통해훈련시키는함수이다. Ref Haykin, S., Neural Networks, 2nd Edition, Prentice-Hall, New Jersey, 1999 Lin, C.-T. and George, C.S. Lee, Neural Fuzzy Systems, Prentice-Hall, New Jersey, 1996 사용예제 CEMTool>> P = SOMPLANE(3,3,"grid"); CEMTool>> [W NB] = GENSOM(P,2,3,"hexa"); CEMTool>> W = TRAINSOM(W,NB,P,[],[],[],[],[],[]); 관련함수 simulsom, som 종류신경회로망툴박스함수

simulsom 목적주어진패턴과가장가까운 SOM 뉴런을찾는다. 문법 Y = SIMULSOM(W, P) 입력 W : NxQ SOM 뉴런의연결강도행렬 P : MxQ 입력행렬 출력 Y : Nx1 P 와가장가까운뉴런의번호 설명하나혹은여러개의입력패턴에대해가장가까운연결강도를갖는 SOM 의뉴런들을찾는다. 사용예제 CEMTool>> P = [1 2; 2 1; 3 4] P = 1 2 2 1 3 4 CEMTool>> [W NB] = gensom(p,2,3,"circ") W = 0.0011 0.0004 0.0335 0.0033 0.0356 0.0217 0.0537 0.0196 0.0700 0.0950 0.0275 0.0444 NB = 0.0000 1.0000 1.0000 1.4142 2.0000 2.2361 1.0000 0.0000 1.4142 1.0000 2.2361 2.0000 1.0000 1.4142 0.0000 1.0000 1.0000 1.4142 1.4142 1.0000 1.0000 0.0000 1.4142 1.0000 2.0000 2.2361 1.0000 1.4142 0.0000 1.0000 2.2361 2.0000 1.4142 1.0000 1.0000 0.0000 CEMTool>> Y = simulsom(w, [-1 2]) Y = 5

관련함수 trainsom, som 종류신경회로망툴박스함수

plotsom 목적 SOM 의뉴런들과이웃관계를도시한다. 문법 PLOTSOM(W, NB, D) 입력 W : PxQ 뉴런의위치행렬 ( 하나의뉴런은 1xQ 벡터 ) NB : 이웃과의거리를저장하는행렬 D : 이웃의최대거리 설명뉴런을 2 차원평면상에점으로도시하고, D 보다작거나같은이웃뉴런을선으로연결한다. 사용예제 CEMTool>> W = somplane(2,3,"hexa") W = 0.0000 0.0000 0.5000 0.8660 1.0000 0.0000 1.5000 0.8660 2.0000 0.0000 2.5000 0.8660 CEMTool>> NB = nbmat(2,3,"hexa") NB = 0.0000 1.0000 1.0000 1.7321 2.0000 2.6458 1.0000 0.0000 1.0000 1.0000 1.7321 2.0000 1.0000 1.0000 0.0000 1.0000 1.0000 1.7321 1.7321 1.0000 1.0000 0.0000 1.0000 1.0000 2.0000 1.7321 1.0000 1.0000 0.0000 1.0000 2.6458 2.0000 1.7321 1.0000 1.0000 0.0000 CEMTool>> PLOTSOM(W,NB,1) 관련함수 distance, som 종류신경회로망툴박스함수

예제이름 설명 쓰이는곳 demo_heb.cem Hebbian 학습규칙데모 2.2.1절 demo_pc.cem 퍼셉트론학습규칙데모 2.2.2절 demo_lin.cem Widrow-Hoff 학습규칙데모 2.2.3절 demo_del.cem 델타학습규칙데모 2.2.4절 demo_mlp1.cem 다층인식자학습데모 (XOR 문제 ) 3장 demo_mlp2.cem 다층인식자학습데모 ( 숫자인식 ) 3.3절 demo_rbf.cem RBFN 학습데모 ( 함수근사 ) 4.3절 demo_plan1.cem PLAN 학습데모 ( 함수근사 ) 5.3절 demo_plan2.cem PLAN 학습데모 ( 시계열예측 ) 5장 demo_som1.cem SOM 학습데모 (SOM 생성 ) 6장 demo_som2.cem SOM 학습데모 (1차원이웃구조 ) 6.3절 demo_som3.cem SOM 학습데모 (2차원이웃구조 ) 6.3절