S. Mandayam/ ANN/ECE Dept./Rowan University Artificial Neural Networks ECE /ECE Fall 2010 Shreekanth Mandayam ECE Department Rowan University Lecture 6 October 18, 2010
S. Mandayam/ ANN/ECE Dept./Rowan UniversityPlan 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
S. Mandayam/ ANN/ECE Dept./Rowan University RBF Principle Non-linearly separable classes Linearly separable classes Transform to “higher”-dimensional vector space
S. Mandayam/ ANN/ECE Dept./Rowan University Example: X-OR Problem x1x1 x2x2 (x)(x) (x)(x) Decision Boundary
S. Mandayam/ ANN/ECE Dept./Rowan University RBF Formulation Problem Statement Given a set of N distinct real data vectors (x j ; j=1,2,…,N) and a set of N real numbers (d j ; j=1,2,…,N), find a function that satisfies the interpolating condition F(x j ) = d j ; j=1,2,…,N
S. Mandayam/ ANN/ECE Dept./Rowan University RBF Network RBF Network x1x1 x2x2 x3x3 y1y1 y2y2 1 w ij Input Layer Hidden Layer Output Layer Inputs Outputs (t) t
S. Mandayam/ ANN/ECE Dept./Rowan University 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
S. Mandayam/ ANN/ECE Dept./Rowan University RBF - Center Selection x1x1 x2x2 Data points Centers
S. Mandayam/ ANN/ECE Dept./Rowan University K-means Clustering Algorithm N data points, x i ; i = 1, 2, …, N At time-index, n, define K clusters with cluster centers c j (n) ; j = 1, 2, …, K Initialization: At n=0, let c j (n) = x j ; 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(x j, c j (n) ) = d ij Assign x j to cluster c j (n) if d ij = min i,j {d ij }; i = 1, 2, …, N, j = 1, 2, …, K For each cluster j = 1, 2, …, K, update the cluster center c j (n+1) = mean {x j c j (n) } Repeat until ||c j (n+1) - c j (n) || <
S. Mandayam/ ANN/ECE Dept./Rowan UniversitySummary