110 likes | 262 Views
Artificial Neural Networks ECE.09.454/ECE.09.560 Fall 2010. Lecture 6 October 18, 2010. Shreekanth Mandayam ECE Department Rowan University http://engineering.rowan.edu/~shreek/fall10/ann/. Plan. Radial Basis Function Networks RBF Formulation Network Implementation
E N D
Artificial Neural NetworksECE.09.454/ECE.09.560Fall 2010 Lecture 6October 18, 2010 Shreekanth Mandayam ECE Department Rowan University http://engineering.rowan.edu/~shreek/fall10/ann/
Plan • Radial Basis Function Networks • RBF Formulation • Network Implementation • Matlab Implementation • RBF Design Issues • K-means clustering algorithm • Adaptive techniques • Lab Project 3 • Final Project Discussion
RBF Principle Transform to “higher”-dimensional vector space Non-linearly separable classes Linearly separable classes
j2(x) x2 j1(x) x1 Example: X-OR Problem Decision Boundary
RBF Formulation Problem Statement • Given a set of N distinct real data vectors (xj; j=1,2,…,N) and a set of N real numbers (dj; j=1,2,…,N), find a function that satisfies the interpolating condition F(xj) = dj; j=1,2,…,N
j 1 j 1 1 1 j 1 j 1 0.5 0 -5 5 RBF Network Hidden Layer Input Layer Output Layer x1 y1 Outputs x2 Inputs y2 x3 wij 1 j(t) t
Matlab Implementation %Radial Basis Function Network %S. Mandayam/ECE Dept./Rowan University %Neural Nets/Fall 10 clear;close all; %generate training data (input and target) p = [0:0.25:4]; t = sin(p*pi); %Define and train RBF Network net = newrb(p,t); plot(p,t,'*r');hold; %generate test data p1 = [0:0.1:4]; %test network y = sim(net,p1); plot(p1,y,'ob'); legend('Training','Test'); xlabel('input, p'); ylabel('target, t') Matlab Demos » demorb1 » demorb3 » demorb4
x2 x1 Centers Data points RBF - Center Selection
K-means Clustering Algorithm • N data points, xi; i = 1, 2, …, N • At time-index, n, define K clusters with cluster centers cj(n); j = 1, 2, …, K • Initialization: At n=0, let cj(n)= xj; j = 1, 2, …, K(i.e. choose the first K data points as cluster centers) • Compute the Euclidean distance of each data point from the cluster center, d(xj , cj(n)) = dij • Assign xj to cluster cj(n)if dij = mini,j {dij}; i = 1, 2, …, N, j = 1, 2, …, K • For each cluster j = 1, 2, …, K, update the cluster center cj(n+1)= mean {xjcj(n)} • Repeat until ||cj(n+1)- cj(n)||< e