Tuesday, June 24, 2008

4 Color Gift Cards

So my store is working on converting to some new stored value gift cards. Our software supports the capability so now the only problem is how to get the cards themselves. We're looking at going with 4colorprint.com . They'll print 4-color gift cards for us and print serialized barcodes as well. This works nicely, because we can have each customer we sell a gift card to have a unique barcode so that they can do balance inquiries, add and subtract value, and allow us to manage the accounting easily. Their prices are also excellent; I'd recommend them to anyone looking to do something similar.

Tuesday, May 6, 2008

Final Project progress

My final project is exploring an unsupervised neural net in the framework of stereotyping. Unsupervised neural nets just search for patterns on the data that has been entered and does a sorting just based on similarities of certain traits. It doesn't require a teaching signal and it seems to do a decent job of sorting based on a simple REALbasic construction of it that I have used. I haven't yet been able to get my implementation to compile when adding the stereotyping component to it, but I'm still hopeful. I'm using a network based on Stephen Grossman's work: the Adaptive Resonance Theory network. It uses the vigilance parameter to yield formation of new nodes. I expand it by allowing these nodes to backpropagate weights through the entire network. This backpropagation allows there to be change of the original stereotypes.

I've been reading a lot on a couple of different network models used in social cognition. First, the tensor product model which uses the tensor product of two matrices and has the interesting property of being able to add context to an event. I may try to explore using the basics of the tensor product model in implementing my new network. My network uses vectors (in the linear algebra sense) as the basis for my input patterns. So, I can just take the tensor product of the vectors used as my input data and look at the kind of relationships it can build.

What's interesting about the model I'm building is the way it clusters the pattern representations. Essentially, it sorts the vectors by seeing if they're "closest" to each other in n-dimensional space. It's easy to visualize if the vector has 3 or less members of its pattern set, but beyond that we enter fourth dimension and into difficult to imagine scenarios.

Anyway, this model has been very interesting to explore and I hope it can yield some usable results.

Tuesday, April 29, 2008

Sci Gen: An Experiment in Pluralistic Ignorance

I mentioned in class a randomly generated computer science paper that I "wrote" and showed to friends. I looked up the project again and although at the time I played around with it, I didn't think of it in psychological terms, it's an interesting idea to consider. The basic premise was that using a variety of technical terms and a an algorithm which assembles them into mostly sentences, a computer science paper was generated. Now, to anyone with much common sense, reading through much of the randomly generated papers will tell you pretty quickly that something is wrong. Yet, a number of the papers have been accepted to journals and conferences before the submitters told the journals that it was a hoax. See http://pdos.csail.mit.edu/scigen/blog/ for more details.

I wonder if this is a pluralistic ignorance effect of some sort. If a journal editor doesn't understand a paper, might be afraid to ask his superiors or question the author? The friends whom I showed it to either didn't read it or read it, didn't understand it, but didn't want to admit that they had no idea what "I" was saying in the paper. It's an interesting idea and I wonder how pervasive this effect is within academia.

Wednesday, April 16, 2008

Implicit Learning

I’m doing research for my final project, which will be exploring stereotypes. I’m trying to get a handle on implicit learning so I’ve been reading several books on that. Particularly, stereotypes seem to be automatic to a fairly high degree, so I want to understand implicit learning well enough to be able to conceptualize a model implementation. I’m reading a book conveniently titled Implicit Learning by Axel Cleeremans. Some interesting things I’ve learned about implicit learning:

Subjects who are given a task such as artificial grammar leaning very often do quite well with learning the rules and pattern recognition when given this task and simply learning implicitly. They also cannot verbalize many of the methods by which they have been able to come up with these rules. Interestingly, when told to “look for rules” subjects’ performance decreases. They do much better on a sequential learning task like that when only learning implicitly. I’ve noticed this sort of thing when doing calculus. As one gets to the point of integrating more complex functions, it becomes much less of an “apply the rules you’ve learned” game to a subtle art. When given complex functions, one often has to just try several different methods until the way that works well becomes clear. I’ve noticed that as I practiced calculus more, I was able to get the complex functions done in less steps. Of course, I can’t verbalize why it’s easier or what about a function makes me decide that integration by parts is the way to go, but nonetheless I can do it.

Relating this to stereotypes, I wonder how much of stereotype formation is implicit. Going back to my convenience store stereotype described in previous posts, I can’t tell you (for the most part) what about a customer makes me decide that they will ask for a bag once they get to the register. But nonetheless, I immediately make these sorts of assumptions. Some stereotypes (ethnic, gender, etc.) are quite salient and it’s easy to see how one applies a stereotype to them. However, not all are immediately evident. Further, not all of the traits that are applied to a stereotype are evident as to why we apply them. Again, though, some are. Statistically inaccurate stereotypes seems to be a case where implicit learning has failed. I don’t believe we consciously decide “I am going to form a stereotype about Asians. I will describe them with these characteristics: ...” We might have learned them from our culture, our parents, our environment, society, etc. But it’s unlikely that we purposefully formed our conceptions of people.

Anyway, I’m getting very excited about getting into the network creation for my final project. I will readily admit to being baffled by some of the math that some of the network books I’m reading have, but I think I’m finally starting to get some clarity and inspiration on how I can implement a stereotype framework into a neural network.

Monday, April 14, 2008

An Empirical Study of Stereotypes

The title is slightly misleading, but I was called into work at my convenience store on Friday due to an IT emergency. Our main cash register experienced a database corruption and aside from my duties as hangover vomit removal specialist, I also serve as the store's IT Manager, so I came in to deal with that at double overtime pay. I wish there were more emergencies that needed my immediate attention at double overtime.

While I was waiting for the database to rebuild, I decided to test my "customer stereotype accuracy". As a customer entered, I made note of what my unfounded assumptions about them were, then noted whether they were correct. I got 7.1% completely correct and 17.3% partially correct out of 197 customers who entered. I only counted customers who bought something and I did not include any friends that were with these customers unless they bought something as well. I also did not count any of the "regulars", whom I would already be familiar with. So, at best I had about one fourth of my assumptions correct. It seems that there's quite a confirmation bias when it comes to that stereotype; I thought I had quite an accurate picture of our customer base, but in the end it turned out that most of that was just my only noting my correct assumptions. I would speculate that this is what fuels a lot of stereotypes. Confirmation bias seems to be the main reason why my customer stereotypes are maintained. I'm hoping to do my final project on stereotypes, so I wonder if there's any way I can try to perform any sort of confirmation bias framework for my network.

Of course there are several problems with my "experiment:"
1) No control
2) I was quite stressed at this time, as our Friday sales are some of our biggest sales day, and a colossal database crash is quite a stressful event for me. Running that many customers through on our single backup terminal while simultaneously repairing our main system probably caused me to be a bit terser with customers than I normally would be and thus might have affected their attitudes.
3) One particularly annoying customer whom I ended up having to call the police on put me in a very terse mood that, again as above, might have affected my interactions with customers.
3) There's the "awareness" factor where, as both the experimenter and the subject, I was probably not making the same assumptions I normally would be, or at least had a different pattern of behavior.

In any case, it was an interesting study that I think will affect how I view customers and how I treat people who enter our store.

Friday, April 11, 2008

Stereotyping and Convenience Stores

So I worked (and still come in to do occasional tech consulting for) a convenience store in Collegetown Ithaca, home of the Ivy League Cornell. I worked there regularly all through high school, four years, and as I worked there, I discovered that as soon as someone walked into a store, I made a few assumptions about them:

1) What kind of things they would buy (Beer, frozen yogurt, cigarettes, grocery items?)
2) How they would pay (Cash, Credit, City Bucks (the Cornell off-campus dining plan)
3) If they were buying beer or cigarettes, would they have their ID?
4) Would they ask for a bag?
5) Would they be polite, or would they give me a hard time?

It's amazing, based on a five second analysis as someone walks in, I've unconsciously made a determination about a person's demeanor based on their appearance and nothing else. I like to think that it's based on some sort of knowledge and experience, and to some degree it is. There is definitely a stereotype of the "fro-yo girl" (affectionately called "fro-yo hoes" by the store staff). She's always on her cell phone, pays with City Bucks, and buys frozen yogurt regardless of how cold it is. My store has gone as far as creating a "fro yo hoe of the month" promotion, which has been surprisingly successful. The recipients (with their consent) are awarded free frozen yogurt for a month, a t-shirt, and allowed to choose one of the flavors all because they fit a stereotype well. It's quite interesting to see how receptive most of the girls are to receiving this "honor."

Seeing how easily I formed my own stereotype about who tries to buy beer without an ID and who will ask for a bag based only on appearance seems to really speak to the way that stereotypes are so easily formed. It should be interesting to see if I can model this automatic behavior in my cognitive neural net; this is the topic I hope to study for my final project.

Homework 2: Recreating a memory effect

So I am finally writing up homework 2. After weeks of procrastination, fifteen hours of little progress and subsequent panic, and finally three hours of working results, I finished. I used JOONE to recreate the primacy and recency effect, though only succeeding in creating the primacy effect. I used a new kind of layer: the delay layer. This layer allowed me to give an input node a "delay" on being processed through the network. This worked by having undelayed nodes being processed more than the delayed nodes. A parameter, called taps, allowed me to set the number of cycles by which the process would be delayed.

My main difficulty was figuring out how to measure the results. The main idea is "how did it learn a set of data?". I gave it a set of values on the input node, and had a teacher signal give it a result, then tested it with various levels of delay. I had a large set of data so as to keep the learning fairly randomized, so I had two hidden layers as well. I then ran it through just 100 epochs for each training set. This seems somewhat consistent with a basic learning paradigm, where we would be exposed to words or some other stimulus and our neurons would synapse many times even in the few seconds that one might be exposed to a stimulus in a primacy/recency task. I was able to get a consistent result where the undelayed (first stimulus in a series) item had the lowest RMSE, which I used as my baseline for measurement. My problem came when I tried to determine how to get a recency effect. Primacy and recency are probably the result of two different processes, so a different approach is needed to get a recency result. Particularly, one needs to be able to recreate a long term and short term memory system and have some way to distinguish the recall between these two. Perhaps two input "networks" that have already been trained could be transferred to an output node via a learning "switch" that has the short term more salient and accessible, but also has things learned in there not quite so permanent. There would also need to be transfer between STM and LTM. A complicated proposal for sure!