Эта статья является первой в серии под названием «Машинное обучение — это не волшебство», в которой рассказывается, как начать работу с машинным обучением с использованием знакомых инструментов, таких как Excel, Python, Jupyter Notebooks и облачных сервисов машинного обучения от Azure и Amazon Web Services. Заглядывайте сюда каждую пятницу, чтобы узнать о будущих платежах.
Back in 2010, when I first encountered the concept of Machine Learning(ML), я сказал себе, что это только для кандидатов наук в области компьютерных наук, а это означало, что у меня никогда не будет шанса работать над этим.
As an ex-Microsoftie and Azure enthusiast, I decided to take a closer look at ML when Microsoft started to add Machine Learning components to Azure. Even then, I only got overwhelmed and confused by the enormous number of technologies and jargons surrounding it. With Google announcing TensorFlow and Cloud MLпосле чего Amazon запустила свой свояMachine Learning service, it started to become very clear that ML is going to be the next big thing in the cloud.
Глядя на шумиху и ажиотаж вокруг машинного обучения, я решил написать свой первый аналог машинного обучения «Hello World». С каждой попыткой я только больше смущался и разочаровывался. Огромное количество статей, блогов, курсов самообучения учебники, и примеры по ML добавили мне беспокойства.Несмотря на все доступные ресурсы, я даже близко не смог создать осмысленную и полную реализацию ML.
Одной из основных причин, по которой я продолжал делать разворот, была щедрая доза математики, которую можно найти почти в каждом ресурсе ML, который я добавил в закладки.Несмотря на мою решимость и приверженность, мысль о том, что мне нужно изучать продвинутую математику, продолжала толкать Признаться, я боюсь иметь дело с математикой. В старшей школе мне едва удалось сдать сочинения по математике. Когда я был подростком, я обрадовался, когда обнаружил, что можно построить карьеру в IT без магистерского степень по математике. Тот факт, что некоторая продвинутая математика стала обязательным условием для ML, разочаровал меня и во многом вернул кошмар моих школьных дней.
But as I continued to work with my customers on Internet of Things and data-centric projects, the possible usage of ML kept coming back to us. Meanwhile, the hype around ML has reached the peak. So much so that the cloud providers started to push ML more than the core IaaS components like VMs, storage, and networking. It also became extremely clear that ML is becoming the front and center of many emerging technologies including Cognitive Computing, Artificial Intelligence, Chatbots, Personal Assistants, and Predictive Maintenance.
Hit the Spreadsheets
В начале 2017 года я решил каждый день посвящать два часа изучению машинного обучения. Первые несколько недель моего пути обучения были связаны не с программированием, а с оттачиванием математических навыков. После составления короткого списка ряда необходимых математических понятий Что касается машинного обучения, я понял, что лучшим ресурсом, который мне очень доступен, был учебник математики для средней школы моего сына. Я добавил в закладки несколько глав и продолжал неустанно изучать концепции, пока не смог решить проблемы. Я также должен отдать должное кKhan Academy for its excellent collection of tutorials covering the prerequisites.
After getting hold of basic mathematics and statistics, I started experimenting with the formulae, in Microsoft Excel. It was fascinating to see the primary hypothesis of ML working in Excel. Having understood how to apply modern datasets to traditional statistical formulae, I was eager to try them in Python. Though I am not an expert in Python, I am pretty comfortable with writing code in it.
Основываясь на своем прошлом опыте работы с Python, я установил необходимые модули и настроил испытательный стенд машинного обучения на основе Python.С рабочей формулой в Excel и базовой средой Python я успешно создал свою первую модель машинного обучения, которая была точно прогнозирование значения на основе набора данных, который я использовал для обучения, Это был момент «ага» для меня.
Before I got to the working model of an ML program, I read umpteen number of articles and watched hours of video tutorials on YouTube. But only after I managed to write my first program, it all started to make sense.
The Path Forward
The objective of this guide is to help you create a personalized learning path for Machine Learning. If you struggle with math, you will find this plan more useful. I will tell you how much math you need to learn, what environment you to need to configure, which tools you need to use, and finally, how to write your first ML program.
Before we delve into the details, I want to make a disclaimer. By no means, this is going to be the most complete or exhaustive guide to ML. It may not be the most the accurate in terms of terminology and the official nomenclature. But I can tell you with a conviction that it will certainly get you few steps closer to your goal of learning ML. I promise that I will stay away from using the jargon and complex mathematical formula that hinder your ability to learn.
В течение следующих нескольких недель мы возьмем реальную проблему и сначала поэкспериментируем с ней в простейшем инструменте, с которым знакомо большинство из нас — Microsoft Excel.Мы будем использовать Excel в качестве инструмента для изучения основных предпосылок ML.После этого , мы будем двигаться к кодированию на Python, где я постараюсь демистифицировать концепции, связанные сNumpy, Pandas, Jupyter Notebooks, Matplotlib, and Seaborn.
I will also show you how to move the final model that we create to Node.js and use it with a web application. With the core concepts behind us, I will finally show you how to use ML in the public cloud. We will take the same problem that we attempted to solve with Excel and Python to Azure ML and use the interactive ML Studio to create a predictive analytics web service. We will also attempt to take the same problem to AWS and solve it using Amazon ML.
The objective is to equip you with the basic ammunition for jumpstarting your ML learning process.
To whet your appetite, I want to introduce to the problem we are going to solve: Based on the number of years of experience, we will predict the salary of a developer at Stack Overflow.
Following the tradition of openness, the folks at Stack Overflow created a salary calculator for various jobs and seniority levels. Instead of using complex datasets or fictitious datasets, we will use real-world data coming from Stack Overflow. The idea is to use a scenario that every developer can easily relate. What else is better than the data from Stack Overflow? Since the results are available, it is also easy to verify the hypothesis that we will create through multiple tools.
In the next installment, I will introduce Machine Learning in layman terms. We will take a simple dataset based on Stack Overflow salary calculator, and analyze it to understand how to create a predictive model from it. You will walk away with a clear understanding of what is called as supervised machine learning and simple linear regression. Stay tuned as I prepare the assets that you can grab from the GitHub repo.
Feature image via Pixabay.