# SoftMax Distributions for Human-Robot Interaction

This iPython Notebook is a living document that details the development and usage of SoftMax distributions -- a powerful tool to probabilistically decompose state spaces.

DISCLAIMER: This document's current status is in development. That means code might be broken, text may have typos, and math might be missing/wrong. Read this as ongoing research notes until this disclaimer is removed.

NOTE: While you can read this document as-is using nbviewer, the best way to read it is by downloading the .ipynb files and associated code from the project's GitHub repository, then running ipython notebook locally.

## Chapter 1 - Introduction to SoftMax Distributions

We look at the basics of why you'd want to use SoftMax distributions, how to make them, and what their general basic properties are.

## Chapter 2 - Using Normals Instead of Weights

Instead of defining weights by hand, we show other ways to create SoftMax distributions: using vector normals.

## Chapter 3 - Building SoftMax Distributions from Templates

We can abstract the SoftMax distribution creation even further using templates.

## Chapter 4 - Subclassing and Superclassing: Multimodal SoftMax

SoftMax distributions can be overly simplistic for some models, so we investigate ways to modify SoftMax distributions for general, non-symmetric cases.

TODO

TODO

TODO

## Chapter 8 - N-Dimensional SoftMax

TODO



In [1]:

from IPython.core.display import HTML

# Borrowed style from Probabilistic Programming and Bayesian Methods for Hackers
def css_styling():
styles = open("../styles/custom.css", "r").read()
return HTML(styles)
css_styling()




Out[1]:

div.cell{
width:800px;
margin-left:16% !important;
margin-right:auto;
}
h1, h2, h3, h4 {
font-family: "Roboto", "wingdings", sans-serif;
}
h1{
font-weight: 500;
}
h2{
font-weight: 400;
}
h3{
font-weight: 300 !important;
/*         font-style: italic; */
}
h4{
font-weight: 300 !important;
font-style: italic;
margin-top:12px;
margin-bottom: 3px;
}
div.text_cell_render{
font-family: "HelveticaNeue-light", "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
line-height: 145%;
font-size: 120%;
width:800px;
margin-left:auto;
margin-right:auto;
}
.CodeMirror{
font-family: "Source Code Pro", source-code-pro,Consolas, monospace;
}
.prompt{
display: None;
}
.text_cell_render h5 {
font-weight: 300;
font-size: 22pt;
color: #4057A1;
font-style: italic;
margin-bottom: .5em;
margin-top: 0.5em;
display: block;
}

.warning{
color: rgb( 240, 20, 20 )
}

MathJax.Hub.Config({
TeX: {
extensions: ["AMSmath.js"]
},
tex2jax: {
inlineMath: [ ['$','$'], ["\$","\$"] ],
displayMath: [ ['$$','$$'], ["\$","\$"] ]
},
displayAlign: 'center', // Change this to 'center' to center equations.
"HTML-CSS": {
styles: {'.MathJax_Display': {"margin": 4}}
}
});