字幕列表 影片播放 列印英文字幕 Welcome to the Machine Learning Crash Course. My name is Peter Norvig, and when I joined Google in 2001, my title was "Director of Machine Learning," because I knew then that Machine Learning would be a valuable tool to help engineers, at Google and everywhere else, make sense of their data. I didn't quite anticipate then how widespread the tools would become, and how much demand there would be for engineers who are skilled at using them. This course is designed to set you along the path to becoming a skilled practitioner of the art. What you learn here will allow you, as a software engineer, to do three things better. First, it gives you a tool to reduce the time you spend programming. Suppose I wanted to write a program to correct spelling errors. I could make my way through lots of examples and rules of thumb, like I before E except after C, and after weeks of hard work come up with a reasonable program. Or, I could use an off-the-shelf machine learning tool, feed it some examples, and get a more reliable program in a small fraction of the time. Second, it will allow you to customize your products, making them better for specific groups of people. Suppose I produced my English spelling corrector by writing code by hand, and it was so successful that I wanted to have versions in the 100 most popular languages. I would have to start almost from scratch for each language, and it would take years of effort. But if I built it using machine learning, then moving to another language, to a first approximation, means just collecting data in that language and feeding it into the exact same machine learning model. And third, machine learning lets you solve problems that you, as a programmer, have no idea how to do by hand. As a human being, I have the ability to recognize my friends' faces and understand their speech, but I do all of this subconsciously so if you asked me to write down a program to do it, I'd be completely baffled. But these are tasks that machine learning algorithms do very well; I don't need to tell the algorithm what to do, I only need to show the algorithm lots of examples, and from that the task can be solved. Now, besides these three practical reasons for mastering machine learning, there's a philosophical reason: Machine learning changes the way you think about a problem. Software engineers are trained to think logically and mathematically; we use assertions to prove properties of our program are correct. With machine learning, the focus shifts from a mathematical science to a natural science: we're making observations about an uncertain world, running experiments, and using statistics, not logic, to analyze the results of the experiment. The ability to think like a scientist will expand your horizons and open up new areas that you couldn't explore without it. So enjoy the journey, and happy exploring.