Armando Padilla
CaliforniaStateUniversityLos Angeles
Computer Science 491A-B
Final Report
PHP Artificial Neural Network Library
(PHPANN lib)
ONR Test Case
Abstract:
With the latest release of PHP 5, containing both an object-oriented structure and an optimized Zend engine there is still a wide variety of so-called neural network plug-ins and libraries for PHP that act more like a wrapper around C libraries. These C libraries pose three major hurdles for PHP developers; they are specific to the operating system, they need special “root” privileges on the computer to compile and install, and the libraries are hard to expand. These drawbacks leave us with a push to develop a full PHP implementation of a neural network library that is not OS specific and can be used and expanded by anyone.
- Introduction:
In 1995 Rasmus Lerdorf created the PHP scripting language that would eventually be implemented in both Unix servers and Windows servers worldwide. The scripting language was primarily used for online applications but with recent enhancementsand the low learning curve required, the scripting language has expanded rapidly and the language can now use third party classes created by PHP developers.
The PHP Neural Network library (PHPANN) is an attempt to create a useful set of classes that will provide PHP developers the ability to create Neural Network applications on the fly such as Optical Numerical Recognition Systems[1](ONR), Optical Character Recognition Systems[2](OCR) or classification of data used in Data Mining projects.
Using the 10PHP classes described below the developer can create Feed Forward Supervised Networks, use the Hard Threshold, Sigmoid, Radial Basis activation rules, and use the Delta and the Perceptron learning rules. The three main PHPANN classes are PHPANN, PHPANN_Neuron, and the PHPANN_Connection classes. These classes handle individual setting of the neurons weights and respected inputs along with broader network information such has the layers of the network, number of iterations (epochs) the system will need to train, and contains the functions to both begin training and begin running the network using the newly acquired weights.
- Technology Background
- PHP
PHP 5.0+ was primarily used to create the library do to its ease of use and methods of installing and creating applications. The new enhancements to the language allowed class declarations of complicated objects that would allow the network to retain the information set by the system while training was in progress and allowed setting access restrictions to class attributes such as neuron bias weights, input values, and internal calculations of the activation rules.
- System Requirements
The system is required to have PHP 5.0 installed and working prior to installing the classes. There should also be a directory to place the classes and allow PHP to access.
- Design and Implementation Details
- Class Documentation
Please refer to attached class documentation for detailed information.
- UML
Please refer to Figure 4.3 for detailed UML outline.
- Conclusion and Future Work:
I will continue to make modifications to the classes primarily in the form of updating critical functions that would allow developers to load trained weights from a flat file and will test the classes on other types of Neural networks rather than limit its application to Feed Forward Networks.
7. References:
Books:
- Mitchell M, Tom. Machine Learning,CarnegieMellonUniversity Boston 1997
- Ramachandran, Bharath. Neural Network Computing,New York: McGraw-Hill 1994
Online Resources:
1
[1] Please see “Empirical Data” section for a full implementation of PHPANN on ONR systems
[2] CAPTCHA decoder created using CGI and can be replicated using PHPANN