:) Thanks for saying so --------- Matt Taylor OS Community Flag-Bearer Numenta
On Mon, Dec 14, 2015 at 7:24 PM, Jason Xie <[email protected]> wrote: > Wow, Matt, thanks so much! I understand the problem a lot better now. > > This is the first time that someone have provided me with such clear > guidance and so much effort on a mailing list before. I am incredibly > grateful! > > Again, thanks a ton! > > On Mon, Dec 14, 2015 at 4:58 PM, Matthew Taylor <[email protected]> wrote: >> >> Hi Jason, >> >> It looks like you are trying on a simple task just to get to know how >> NuPIC works. That's great! I can tell you what is not working and why. >> >> This problem is a "first-order prediction" problem. That means that >> once you've established what the rules are, HTM can look at only one >> row of data and make a prediction. One does not need to see more than >> one row. This is similar to my cellular automata example [1]. >> >> NuPIC and HTM are not good at math. The way you have this set up >> currently is a math problem. Given a row of numeric input, the HTM >> must apply some logic and decide whether to increment or decrement an >> integer score. NuPIC will perform better when applied to string >> categories. >> >> So the first thing I did was change the input from integers to >> strings. I assume you're not that interested in predicting the score >> per se, but rather teaching HTM the rules of the game. So given the >> player state of one game, it should be able to "predict" the winner of >> the game once it has seen enough games and winners. >> >> I changed your code to do this without integers and scoring: >> >> https://github.com/jxieeducation/HTM_sequential_learner/pull/1/files >> >> In this configuration, NuPIC does indeed learn the rules of >> paper/rock/scissors in less than 100 iterations [2]. >> >> To run the new code, you'll need to regenerate data and swarm: >> >> cd rockpaperscissors >> python generate_data.py >> python swarm.py >> python run.py >> >> I hope this helps you understand how to use NuPIC. Please respond with >> any questions. >> >> [1] https://github.com/nupic-community/nupic.ca >> [2] https://gist.github.com/rhyolight/4742ed37d98a881866c5 >> >> Regards, >> --------- >> Matt Taylor >> OS Community Flag-Bearer >> Numenta >> >> >> On Sun, Dec 13, 2015 at 4:06 PM, Jason Xie <[email protected]> >> wrote: >> > Hey everyone, >> > >> > I have been trying to get Rock Paper Scissors to work. >> > src: >> > >> > https://github.com/jxieeducation/HTM_sequential_learner/tree/master/rockpaperscissors >> > >> > My generated data uses this encoding: 0: "rock", 1: "paper", 2: >> > "scissors" >> > An example generated data -> >> > scoreBeforeDuel: score before the current round from the player1's >> > perspective >> > player1, player2: 0, 1 or 2 according to the encoding >> > >> > player1,player2,scoreBeforeDuel >> > 0,1,0 #score starts at 0, rock loses to paper >> > 0,0,-1 #since rock loses to paper, score is now -1 >> > 2,2,-1 #tied last round >> > 2,1,-1 >> > 1,0,0 >> > >> > I am doing TemporalMultiStep for 1 step prediction. My logic is that >> > given >> > score before a round, and the rock paper scissors hands, I should be >> > able to >> > predict the score after the round. >> > >> > However, my predictions are not working at all >> > >> > https://github.com/jxieeducation/HTM_sequential_learner/blob/master/rockpaperscissors/output.txt >> > >> > Thanks very much! >> >
