Pattern Recogntion Applet Introduction


The pattern recognition applet is perhaps one of the best examples of a Java applet in our library. It is extremely useful for learning about the basics of how data is modeled and classified in a highly interactive environment. The applet allows the user to observe how various pattern recognition algorithms can classify different user-defined data sets. The applet also features an easy-to-user interface and the classification algorithms are performed in a step-by-step mode to make them easier to follow.

This tutorial will provide a brief overview of the applet by explaining the menu bar and user interface. Next, follow the appropriate links to a short tutorial for using each of the classification algorithms.


First, let's take a look at the menu bar and the purpose of each menu item.
  • File
    • The ability to Save and Load data sets will be implemented in a later version of the applet.
  • Edit
    • Settings->Set Ranges: Sets the coordinate ranges of the input display panel.
    • Settings->Set Gaussian: Sets the characteristics of the Gaussian that can be drawn using the Draw Gaussian feature.
    • Settings->Set Class Colors: Sets the color of each data class.
    • Settings->Set Iterations: Sets the number of iterations for the LBG Clustering and K-Means Algorithms.
    • Settings->Set Clusters: Sets the number of clusters/centroids for the LBG Clustering Algorithm.
    • Settings-> Set LP Order: Sets the order (number of coefficients) for a Linear Prediction Algorithm.
    • Settings->Set Interpolation: Sets the number of points used for interpolation within the Linear Prediction Algorithm.
    • Settings->Set State Transition Matrix: Sets the transition model for kalman filter (KF), unscented kalman filter (UKF), and particle filter (PF), when order is set to 1.
    • Settings->Set Observation Matrix: Sets the observation model for KF, UKF, and PF, when order is set to 1.
    • Settings->Set Process Noise Variance: Sets the process noise covariance matrix as diagonal elements for KF, UKF, and PF.
    • Settings->Set Measurement Noise Variance: Sets the measurement noise covariance for KF, UKF, and PF.
    • Settings->Set Estimate Error Variance: Sets the estimate error matrix as diagonal elements for KF, UKF, and PF.
    • Settings->Set Number of Particles: Sets the number of particles for PF.
    • Settings->Set Alpha: Sets the default parameter, alpha, for UKF.
    • Settings->Set Beta: Sets the default parameter, beta, for UKF.
    • Settings->Set Kappa: Sets the default parameter, kappa, for UKF.
    • Clear Input: Clears the contents of the input display panel.
    • Clear Output: Clears the contents of the output display panel.
    • Clear Display: Clears both the input and output display panels.
    • Clear Description: Clears the text in the description panel.
    • Clear All: Clears the contents of all panels.
  • View
    • Zoom In: Zooms in and focuses on a user defined area. To use: Select Zoom In and click on the desired area of zoom in either the input or output panel.
    • Zoom Out: Zooms out and focuses on a user defined area. To use: Select Zoom Out and click on the desired area of zoom in either the input or output panel
  • Classes
    • These are the four data classes that can be used to construct a data set. Each class is represented by a different color.
  • Patterns
    • Draw Points: Allows single points to be drawn in the input display panel. Use this to construct a data set one point at a time.
    • Draw Gaussian: Allows Gaussian distributions to be drawn or "sprayed" in the input panel. The Gaussian settings can be set from the Edit->Settings->Set Gaussian menu.
    • Preset Patterns:The following are preset input data sets. Selecting any of these will clear the input display panel and display the preset pattern. The following presets are available:

      Two Gaussian Four Gaussian Overlapping Gaussian Two Ellipses
      Four Ellipses Rotated Ellipses Toroidal Yin and Yang

  • Algorithms
  • Go
    • Initialize: Initializes the the selected algorithm with the current input data. Prepares the algorithm for execution.
    • Previous: Executes the previous step of the current classification algorithm. If no previous steps exist, the algorithm will be re-initialized.
    • Next: Executes the next step of the current classification algorithm. If no futher steps exist, a message will be displayed in the Description Box indicating that there are no more steps.