background preloader

Probabilistic Graphical Models

Probabilistic Graphical Models
About the Course What are Probabilistic Graphical Models? Uncertainty is unavoidable in real-world applications: we can almost never predict with certainty what will happen in the future, and even in the present and the past, many important aspects of the world are not observed with certainty. Probability theory gives us the basic foundation to model our beliefs about the different possible states of the world, and to update these beliefs as new evidence is obtained. These beliefs can be combined with individual preferences to help guide our actions, and even in selecting which observations to make. While probability theory has existed since the 17th century, our ability to use it effectively on large problems involving many inter-related variables is fairly recent, and is due largely to the development of a framework known as Probabilistic Graphical Models (PGMs). Course Syllabus Topics covered include: Introduction and Overview. The slides for the whole class can be found here.

Design and Analysis of Algorithms I About the Course In this course you will learn several fundamental principles of algorithm design. You'll learn the divide-and-conquer design paradigm, with applications to fast sorting, searching, and multiplication. Course Syllabus Week 1: Introduction. Week 2: Running time analysis of divide-and-conquer algorithms. Week 3: More on randomized algorithms and probability. Week 4: Graph primitives. Week 5: Dijkstra's shortest-path algorithm. Week 6: Further data structures. Recommended Background How to program in at least one programming language (like C, Java, or Python); and familiarity with proofs, including proofs by induction and by contradiction. Suggested Readings No specific textbook is required for the course. Course Format The class will consist of lecture videos, generally between 10 and 15 minutes in length. Will I get a statement of accomplishment after completing this class?

Information Theory Coursera.org Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition.

Natural Language Processing Machine Learning Creative Programming for Digital Media & Mobile Apps About the Course This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Course Syllabus Week 1: Introduction: sonic painter Week 2: Interactive D/VJ app Week 3: Music player and sensor controlled visualiser Week 4: Game with physical modelling and synthesis Week 5: APIs accessing and processing social media data Week 6: Music machine Recommended Background Most students are expected to have some background in programming and/or computer science, and some experience of (possibly extra curricular) creative work. Suggested Readings There is no required reading. Course Format

The Best Way to Learn Rails I come from a PHP background, but these days, I'm a full-time Rails developer. The difficulty for most people who make the switch lies in the learning curve that’s involved. Once you've become proficient in a language or framework, switching to a new one feels like an unnecessary (and time-consuming) challenge. However, learning Ruby and Rails is actually pretty easy! It's an incredibly powerful framework, and has a huge community pushing it along. So that begs the question: what's the best way to learn Rails? This article details a full lesson plan that will get you up and running in no time! You might think learning Ruby is the most important step, and this is probably the part where everyone stops learning and just sticks with their current framework. Work through the Try Ruby exercises. The most recommended tool for dipping into Ruby's syntax is the Try Ruby website. Once you’ve worked through these exercises a couple of times, you'll have a solid base. Great! Railscasts: A must!

Computer Science 101 UPDATE: we're doing a live, updated MOOC of this course at stanford-online July-2014 (not this Coursera version). See here: CS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. Computers can appear very complicated, but in reality, computers work within just a few, simple patterns. CS101 demystifies and brings those patterns to life, which is useful for anyone using computers today. In CS101, students play and experiment with short bits of "computer code" to bring to life to the power and limitations of computers. Here is another video Nick created for this class.

Coding the Matrix: Linear Algebra through Computer Science Applications About the Course When you take a digital photo with your phone or transform the image in Photoshop, when you play a video game or watch a movie with digital effects, when you do a web search or make a phone call, you are using technologies that build upon linear algebra. Linear algebra provides concepts that are crucial to many areas of computer science, including graphics, image processing, cryptography, machine learning, computer vision, optimization, graph algorithms, quantum computation, computational biology, information retrieval and web search. Linear algebra in turn is built on two basic elements, the matrix and the vector. In this class, you will learn the concepts and methods of linear algebra, and how to use them to think about problems arising in computer science. Recommended Background You should be an experienced programmer. You are not expected to have any background in linear algebra. Suggested Readings Coding the Matrix is an optional companion textbook.

Tutorials Video Tutorials Links to videos that cover the Processing basics. Hello Processingby Daniel Shiffman et al.Short video lessons introduce coding exercises that lead to designing an interactive drawing program. Welcome to Processing 3by Daniel ShiffmanWhat's new in Processing 3? Plethora Projectby Jose SanchezThese video tutorials cover issues of programming and computational design issues in Processing. Text Tutorials A collection of step-by-step lessons covering beginner, intermediate, and advanced topics.

Computer Security Python for the Web The theme music for this blog post is: Air - Playground Love. Python is the best language in the world for interacting with the web, and I'm going to show you why. This article will give an extremely high level overview of how to use python for the web. There are many ways you can interact with the web using python, and this post will cover all of them. This includes python web scraping, interacting with APIs (Application Programming Interfaces) and running your own python web site using python server software. There are many ways to do all these things in python, but I'm going to show you how to do it the right way using the most modern techniques. Interacting with Websites and APIs Using Python The single best package for interacting with the web using Python is 'Requests' by Kenneth Reitz. First, you'll need to install it. Once you have pip installed, run: pip install requests And now you have Requests installed! The two methods you'll need the most are GET and POST. That's it! Hooray!

Related: