Watch a self-organizing map (SOM) learn the 'swiss roll' data set implemented with our popsom package published in R. This shows that a SOM is able to learn the 'swiss roll' data set if you give it enough time to converge. Our newly developed convergence criterion reports whether the SOM had enough time to fully converge. (Animations due to Vishakh Gopu)
Education: Doctorate from Oxford University 1997.
Research Interests: machine learning, computational statistics, logic, logic programming, programming language semantics and implementation (brief bio sketch).
Teaching (Spring 2018):
Programming for Data Science, CSC392 (CSC310)
Topics in AI: Introduction to Machine Learning with Support Vector Machines, CSC581
Previously Taught Courses:
Fundamentals of Programming Languages, CSC301
Programming Language Implementation, CSC402/CSC502
Theory of Computation, CSC544
Programming Language Semantics, CSC501
Models of Computation, CSC445
Programming Language Boot Camp
An Introduction to Artificial Intelligence with AI Game Development, CSC481
Theory of Compilers, CSC502
Discrete Mathematics, CSC/MTH 447
Foundations of Logic Programming, CSC491
Arduino Workshop at the AS220 in Providence
Cognitive Modeling, CSC592
Advanced Logic Programming, CSC491 Sec 9
Knowledge Discovery and Data Mining, CSC492/CSC592
Software Engineering, CSC305
Other Academic Activities:
I lead the machine learning and data mining group.
I lead the programming language research group.
I am a member of the bioinformatics group and BRIN.
I am a member of the Bioinformatics and Bioengineering Technical Committee (BBTC) of the Computational Intelligence Society (CIS) of the Institute of Electrical and Electronic Engineers (IEEE).
I was the publicity chair for CIBCB 2008.
Software Systems I am involved with:
POPSOM - An R package for self-organizing maps providing advanced visualization and statistical quality measures.
GPX - Gene Phylogeny eXplorer for spectral genome analysis.
PentaPlot - a visualization system for phylogenetic content.
ErrorEngine - a system for automatic narrative evolution.
UCG-E - an equational logic programming system.
OBJ3 - an equational specification system.
TRIM - an abstract machine for order-sorted rewriting.