you user is going northand the gps is telling you the user is going southyou probably can' trust the gps if your position estimate tells you the user just walked through wallyou should also be highly skeptical it' possible to express this situation using probabilistic modeland then use machine learning or probabilistic inference to find out how much you should trust each measurementand to reason about what the best guess for the location of user is once you've expressed the situation and your model of how the different factors work together in the right waythere are methods to compute the predictions using these custom models directly the most general of these methods are called probabilistic programming languagesand they provide very elegant and compact way to express learning problem examples of popular probabilistic programming languages are pymc (which can be used in pythonand stan ( framework that can be used from several languagesincluding pythonwhile these packages require some understanding of probability theorythey simplify the creation of new models significantly neural networks while we touched on the subject of neural networks briefly in and this is rapidly evolving area of machine learningwith innovations and new applications being announced on weekly basis recent breakthroughs in machine learning and artificial intelligencesuch as the victory of the alpha go program against human champions in the game of gothe constantly improving performance of speech understandingand the availability of near-instantaneous speech translationhave all been driven by these advances while the progress in this field is so fast-paced that any current reference to the state of the art will soon be outdatedthe recent book deep learning by ian goodfellowyoshua bengioand aaron courville (mit pressis comprehensive introduction into the subject scaling to larger datasets in this bookwe always assumed that the data we were working with could be stored in numpy array or scipy sparse matrix in memory (rameven though modern servers often have hundreds of gigabytes (gbof ramthis is fundamental restriction on the size of data you can work with not everybody can afford to buy such large machineor even to rent one from cloud provider in most applicationsthe data that is used to build machine learning system is relatively smallthoughand few machine learning datasets consist of hundreds of gigabites of data or more this makes expanding your ram or renting machine from cloud provider viable solution in many cases if you need to work with terabytes of datahoweveror you need preprint of deep learning can be viewed at wrapping up