Coder Social home page Coder Social logo

tsetlin's Introduction

Tsetlin Machine

The paper The Tsetlin Machine - A Game Theoretic Bandit Driven Approach to Optimal Pattern Recognition with Propositional Logic really piqued my interest, despite some weird mistakes and unclear statements. To learn more about it, I decided I wanted to implement it. I spent a few hours so far and I attempted to replicate the noisy XOR problem and while I got close I could not replicate it directly (I constantly get to around 95% accuracy instead of 99.3%). I assume I made a small mistake somewhere but I don't have time the following days to hunt for the bug.

Despite this, I know others are interested in this paper and the concept is really intriguing. This is why I decided to publish this code anyway. I focused on readability over performance, where there is a lot to gain. I attempted to start MNIST but currently it would take about 285 days to do 300 epochs on a single bit resolution input.

The experiments.py file has an example how to use it and I attempted to document wherever it might not be clear what is happening.

The hyperparameters you can pass along together with the names in the paper are:

  • number_clauses: The number of Automata Teams also known as the units that learn individual propositions.
  • number_action_states: The amount of states a single Automata can take, smaller state spaces are more flexible and adaptive but also more noisy.
  • precision: Influences how often to reward or penalize automata.
  • threshold: If the summation decision value is this far away in the correct decision, stop updating

tsetlin's People

Stargazers

 avatar Shaheen Georgee avatar xi li avatar Rohan Kalbag avatar Jeff Moore avatar Marc Terradas avatar Oleg Katkov avatar Adrian avatar Black_White avatar  avatar  avatar  avatar  avatar hubert avatar  avatar  avatar  avatar John Erling Blad avatar  avatar BenjaStudio avatar Andrew Stanton avatar  avatar  avatar ahern avatar huacheng_li avatar  avatar James Proud avatar Anton Kazennikov avatar Matt Murray avatar  avatar Prokopev Aleksey avatar Aslam Shaik avatar  avatar Gurumurthi V Ramanan avatar Shubham Pachori avatar Khang Pham avatar Stuart Farmer avatar  avatar Daniel avatar Loreto Parisi avatar Nidhal Selmi avatar Selin Gungor avatar  avatar Vegax avatar hamlet avatar Tao He avatar Alexander Hirner avatar Florian Gesser avatar 爱可可-爱生活 avatar Eugênio Cabral avatar Jeremy Chinsen avatar Enes Çağlıyan avatar  avatar

Watchers

 avatar  avatar

tsetlin's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.