AI_Project "Perceptron System Discovery and Recommendations in a Linux Environment"

from lab book August 2006

Project Summary

Our assignment was to find a perceptron application on-line and to train and test it. The difficulty of finding an up-to-date Linux application that enabled the user to use a data set proved to be an exhausting task. I found a multitude of applications that explained and demonstrated how a perceptron worked. However, I could not find an application that allowed me to enter my own data, train, and test the Perceptron. Furthermore, when I finally found an application would allow for the end-user to utilize their own data set, the application would not compile correctly on the new GNU compilers. Unfortunately, old compilers would break the newer Linux OS. In the end, my Linux options were limited to null. Therefore, I decided to create a new open source project; Open Perceptron to solve the problem and complete the assignment. (website to follow)

Application Requirements Documentation

System Overview and Problem Description

  • Customize Perceptron – The ability to define perceptron parameters
  • Data Sets – The ability to utilize user’s data sets
  • Train Perceptron – The ability to enter training data sets
  • Test Perceptron – The capability to enter test data sets
  • Linux OS – Developed to run on any Linux OS as a daemon
  • Modern Language – Utilize a modern language that supports higher language functions such Object Oriented, Polly-morphism, Generics, Anonymous Methods and Partial Types
  • Modern Architecture – Utilize a modern architecture that supports Just in Time (JIT) compiling, Common Language Runtime (CLR) and Common language Infrastructure (CLI)
  • Modular – Designed and built for ease of adding function and features and re-use of code
  • Easy to use – Application must be simple and practical for conducting experiments and neuron modeling
  • Common Output – use comma-delimited files for output

Anticipated Application Benefits on Linux and C#

  • Benefits for a Modern Language Perceptron that runs on Linux includes:
  • Light footprint application with high throughput
  • Reduced runtime for experiments
  • Flexible for running multiple data points
  • Intuitive usage i.e. {mono perceptron.cs}
  • Easy to customize by the end user
  • Ability to be used as a multi-user application
  • Unlimited Scalability

Pseudo Code

  • DefineDataSet()
  • DefinePerceptron()
  • DataLocation()
  • ExportDataSet()
  • GetTrainData()
  • TrainPerceptron()
  • LongTermMemory()
  • GetTestData()
  • TestPerceptron()

The Problem (Experiment)

Objective: To train and test a Perceptron with a train data set and test data set.

Methods: Observations, Mathematical Modeling, and Data Points.

Proof: Will be obtained through statistical probability.

We are using a Perceptron to judge whether or not you play an active role in conserving the environment. The make and model of your car has a greenness factor which we determine by your vehicle’s carbon foot-print.

Real vehicle data was acquired from and placed into TrainData.csv and TestData.csv files. Our three Perceptron inputs were greenhouse gas emissions, air pollution, and mileage; weighted in the same order respectively. Greenhouse gas emissions numbers were rated from 2.9 to 14.9; the lower number being better for the environment. Air pollution numbers were based on an EPA Air Pollution Score; the higher the number, the better for the environment. Likewise, since higher gasoline mileage is directly proportional to the amount of fossil fuels not used; the higher the number, the better the vehicle is for the environment.


I decided to manually plot the points to see what the graph looked like. I noted that two variables: air pollution and gas mileage would place greener point in the north-east quadrant of the graph but the greenhouse gas emissions variable would place the greener point in the south-east quadrant. The manually plotted points matched the points plotted by the perceptron correctly 60% of the data points. Further research and experimentation could result in a more accurate algorithm.

2 thoughts on “AI_Project "Perceptron System Discovery and Recommendations in a Linux Environment"

  1. Hello would you mind sharing which blog platform you’re working with? I’m planning to start my own blog soon but I’m having a difficult time making a decision between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your design seems different then most blogs and I’m looking for something unique. P.S Sorry for being off-topic but I had to ask!

  2. Awesome blog! Is your theme custom made or did you download it from somewhere? A theme like yours with a few simple tweeks would really make my blog stand out. Please let me know where you got your theme. With thanks

Leave a Reply