NYUCCL / sustain_python

A version of the SUSTAIN model of category learning (Love, Medin, & Gureckis, 2004) implemented in Python
16 stars 5 forks source link

SUSTAIN Unsupervised Learning #1

Open halseypa opened 9 years ago

halseypa commented 9 years ago

Hello Dr. Gureckis,

Quick question about the SUSTAIN python code; would this code be able to analyze an unsupervised learning task? (I know that SUSTAIN, in general, can handle both supervised/unsupervised)

The comments in the code led me to believe that it would only model a supervised task, and I didn't know if this code was strictly for supervised learning or maybe there was some modification that could be done to get it to run unsupervised tasks (if it currently can't, anyway).

Thanks in advance!

gureckis commented 9 years ago

It's been a long time since I've thought about this, but the same code should work in unsupervised learning as well. In SUSTAIN, when you do unsupervised learning you just code the stimuli as all belonging to the same category. So, in the stimulus definition for SHJ around line 70 all the final columns would be 0. The distance along the category label will always be zero in this case, and thus only the threshold recruitment part of the learning rule will apply. Of course in unsupervised learning there is no "percent correct" then in terms of performance and you have to write some additional code to inspect the final clustering solutions, count number of recruited clusters, etc...

halseypa commented 9 years ago

Fantastic. Thanks for your help!