User Tools

Site Tools


ease:machinelearning

Machine Learning through NEEMS

This lecture teaches about narrative enabled episode memories (NEEMS) held by Sebastian Koralewski.

Nowadays machine learning is applicable for a large variety of cases. This lecture shows how to use the recordings of activities performed by a robot in a kitchen environment to predict a likely course of action, based on the observed data and their probability of success, e.g. setting up a table for breakfast, or cleaning it up afterward.

Setup

The platform of choice is Jupyter Notebook, a handy framework that is ready to launch in any python environment. Within the Jupyter Notebook environment, there are explanations on how to solve the tasks at hand. Most of the implementation utilizes the Pandas and sklearn package, which makes analyzing and learning data easily possible.

Some example data is provided with this tutorial in a CSV format. They contain records of robot activities, the so-called NEEMS.

Please follow the link to the Jupyter Notebook and open the README.md. It contains all relevant information on how to set up and start the notebook on your machine. A working Linux, MacOS or Windows machine with internet connection is required.

When the setup is finished your default browser should open the Notebook. In the browser, the filesystem of the Notebook is shown. Click on the Exercises.ipynb to get to the lecture's content. The following figure shows the toolbar of the Notebook.

From left to right:

  • Save the notebook with all your changes to Exercise.ipynb on your machine.
  • Inserting a cell block won't be necessary for this lecture, since all necessary blocks are already included.
  • Cut, copy and paste can be either done with these buttons or via the usual CTRL shortcuts.
  • Moving cells up and down isn't necessary as well and would potentially break the logical structure of the lecture.
  • Running a code block can either be done with this button or with CTRL-Enter.
  • Interrupting the kernel is useful when a code block takes to long to be executed. You can change your code and re-run the block again. Remember: training a model might take some time, depending on your machines capacity.
  • Restarting the kernel resets all local variables and definitions from executing the code blocks.
  • Restart & running all code blocks can be helpful when picking up this lecture at a later point, when you have already implemented some of the functionality and don't want to execute every block one by one.
  • Markdown is the default language of choice for writing plain text. You don't need to change this.
  • The full palette of possible commands can be opened with the right-most button. Feel free to investigate further possibilities, but it won't be necessary to complete this lecture.

Hitting the TAB button while coding can be helpful for auto-completion.

Remember to always execute all code blocks from top to bottom, either by executing one by one or via the restart kernel & re-run button. Using the latter won't cause much trouble, since later code-blocks are simply missing some functionality which can be added while you progress through the Notebook.

NEEMS Lecture

This lecture is granulated into six consecutive sections. Since the Jupyter Notebook is a Python program itself, it is important to do each section in the given order. If you separate the lecture over several sessions, remember to execute the code from previous sections before continuing your work.

ease/machinelearning.txt · Last modified: 2020/06/22 11:36 by s_fuyedc

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki