Archive | Technical RSS feed for this section

3 May 2011 0 Comments

Systems Thinking

Systems Thinking

Here are some basics of Systems Thinking that I pulled together for some colleagues recently.

A process is a series of steps intended to achieve a specified output.

A system is two or more processes where the behavior of each process has an inter-dependent effect on the behavior of the whole. (You can’t change one without affecting the other.)

Processes focus on completing tasks . . . Systems are goal seeking and therefor adapt to changing conditions. (Organizations that focus on completing tasks rather than achieving goals are called bureaucracies.)

A system’s effectiveness as much on the health of the individual processes as it is on the interactions between the processes.

You can’t understand a system by taking it apart. (Example: You can’t understand what a human is by studying the heart, lungs, etc., in isolation. You understand the heart by understanding its function, as well as its effect on other functions of the body.)

Systems are only understood by knowing the purpose of the system as well as the functions of the system, i.e., why things operate as they do. You must understand the ‘why’ before you can design an optimal ‘how.’

You can’t optimize a system by optimizing (problem solving) the parts.

The parts must be designed to optimize the whole. You can only do that if you know the target condition of the system.

In order to understanding, design, or think about a system, you must consider:

  • What is the objective of the system overall?
  • What is the pathway design of materials, information, and services?
  • What are the connections between process steps?
  • How do people do their work at each process step?
  • Each of the design elements must be self-diagnostic. (Jidoka!) Every time a system has a problem, it is an opportunity to better design the pathways, the connections, or the activities.

You can’t design a perfect system, only discover one.

Systems Thinking – Additional Reading:

I’d love to hear any thoughts or recommended reading you may have on systems thinking!

1 January 2011 0 Comments

Pop Can Image Recognition Using Orthogonal Partial Least Squares Discriminant Analysis (OPLS-DA)

In 2002, I took a computational intelligence class from NC State University (ECE 592Z), which I completed as a distance-education course. One of our projects was to train a neural network to recognize different pop can images. The instructor gave us a training set of images, but our grade was based on how many images our neural net could identify from a set of images that it had never seen. It was a fun project, but it was a pain to get the neural network to converge.

Since Thanksgiving, I’ve been spending most of my free time learning everything I can about partial least squares regression. I purchased and read about half of “Multivariate and Megavariate Data Analysis Advanced Applications and Method Extensions (Part II)” by Umetrics Academy. I was intrigued by the chapter on image analysis, and wondered if it could be used to recognize the pop cans I used for my neural network project.

I dug up the set of 89 images. They were all small (90×150 px) gray scale images, a sample of which are shown below.

Notice that each image is in a slightly different position and has a varying amount of noise.

The key to using PLS for image analysis is to represent the image as a single vector of information. This is done using a wavelet transformation. I tried to figure out how to do this on my own in Matlab, but wasn’t able to figure out how to get the output of the wavelet transformation into an appropriate 1-dimensional format. Fortunately, Umetrics has a free utility that does this, called SIMCA Codec.

Once the data from the 89 images was imported into SIMCA-P+ (v.12.01), the analysis was incredibly. I selected the orthogonal partial least squares discriminate analysis option, and the output gave 5 validated latent variables. (Note, I also did the analysis using the non-orthogonal PLS method, but the results were not as crisp.) The images below show the images clusters (one color for each type of pop can) plotted against latent variables 1, 2, and 3, and then again using latent variables 1, 2, and 5.

These graphs show a clear distinction of each of the pop can types in latent variable space. In SIMCA-P+, you are able to rotate these graphs in 3D. It was much easier to see the clean split between each of the groups by doing this. In other words, the analysis can clearly recognize which images are of what type of pop.

I continue to be impressed with the power and flexibility of partial least squares analysis. It’s been well worth the time and effort to learn the concepts and how to put it to use in practice. I’ve got some fun projects in mind as to where to go next!