AI для чайников | Александр Троицкий
1.63K subscribers
37 photos
6 videos
6 files
40 links
Ex- ING (IB), Big4, Lamoda, Oliver Wyman. Занимаюсь разработкой AI-моделей и продуктов. Сюда пишу мысли вечного новичка в AI since 2018.

Автор канала: @troitskii

#machinelearning #datascience #python
Download Telegram
Сегодня зависаю на классном мастерклассе от одного чувака ex-Yandex, ex-Mail. Анализируем выборы и их результаты с помощью machine learning и Python. Какие можно сделать основные выводы? Выборы не очень честные. Хотите данные? Пожалуйста:
https://github.com/CommanderDuck/russian_elections_2018/blob/master/russian_elections_2018.ipynb
Ответы на базовые вопросы по Machine Learning, часть 1

Кому это нужно?

- вы офисный сотрудник, который часто анализирует данные;
- вы владелец бизнеса, вы data driven, поэтому хотите более-менее точные прогнозы;
- вы не анализируете данные, но чувствуете, что ваша сфера деятельности скоро перейдёт на big data, поэтому надо понимать что это такое и с чем её едят

Лично обычный офисный червь. В какой-то момент я понял, что в Экселе не смогу сделать анализ 20 миллионов строк и 20 столбцов.
Ответы на базовые вопросы по Machine Learning, часть 2

В каких программах делают этот самый machine learning?

Есть 2 основных языка программирования, где происходит сама магия чисел: R и Python. Оба языка предтавляют из себя обычные консоли, то есть вы по-настоящему программируете и кодите в условном чёрном окошке. Разницы в них немного. R более молодой, разработан data scientists для data scientists, в синтаксисе он более сложный и предназначен только для анализа данных. Python постарше, применяется он не только для анализа данных и machine learning (на нём, например, можно написать движок для сайта). По сути разницы между ними немного и только совсем углубившись в тему machine learning вы увидите разницу.

Красивая картинка ниже.
👍3
Что кроется за машинным обучением?

За машинным обучением стоит много сложной математики и статистики. В целом, машины могут учиться двумя способами: либо они получаются данные и понимают исход какого-то события, либо впитывают в себя знания экспертов. Первое - машинное обучение такое, каким его будем изучать мы. Второе - программирование алгоритмов, мы этого касаться не будем (в ближайшем будущем).

Вот вам данные:

0 0 0 = х
0 0 1 = у
0 1 1 = у
1 1 1 = у
1 0 0 = у
1 1 0 = у
1 0 1 = у
1 1 1 = у

Теперь вопрос: чему равняется 0 1 0 = ?
👍2
Чему равняется 0 1 0 = ?
anonymous poll

у – 31
👍👍👍👍👍👍👍 79%

х – 8
👍👍 21%

👥 39 people voted so far.
Машины выносят суждение так же, как и люди. Различие в том, что в отличие от нас (мешков с мясом) машины могут анализировать по-настоящему большие объёмы данных и при этом не ошибаться (или чётко определять с какой вероятностью возможна ошибка). Когда я загнал пример выше в алгоритм машинного обучения, он выдал мне ответ = у, скорость ответа 0.00001 милисекунды. Признайтесь, сколько у вас секунд ушло на решение этой задачи? Этот простой пример даст вам представление о том, насколько машины могут быстрее делать выводы, чем люди.
👍2
Анализ выборов президента России - 2018 😏
Вывод : даже простейший анализ показывает, что за Путина вбрасывали бланки или заставляли ВСЕХ людей на участке голосовать за него 🙊
Источник: сайт ЦИК
Тем временем я углубляюсь в Python:
1) Прошёл несколько онлайн курсов. Что посоветую: coursera, datacamp
2) Сделал свой первый отчёт на Python. Он собирает данные из 6 экселек (отчёты из SAP BO), а на выходе выдаёт heatmaps, tables, графики и прочие приятности на 34 страницах pdf. У меня получилось 3200 строк года, по ощущениям его можно сократить очень сильно, если за дело возьмётся профи.
Сегодня показал шеффу - он остался очень доволен, особенно тем фактом, что теперь каждую неделю по дирекции будет очень чёткая аналитика без приминения ручного труда и ошибок.
👍3
Ответы на базовые вопросы по Machine Learning, часть 3

Сложно ли делать тот самый machine learning?

Делать его максимально просто. Дело в том, что за машинным обучением стоят библиотеки, которые вы применяете во время своих вычислений. Эти самые библиотеки производят вычисления за вас, так что вам остаётся только понять где и какую библиотеку лучше применить. Например, чтобы решить классический кейс "Какой именно пассажир Титаника спасётся?" обычно применяют библиотеку scikit learn. Прикрепляю картинку как это работает (ниже)
Как работает библиотека scikit learn.
🤔1
Ещё немного про библиотеки Python.

Самой популярной библиотекой для анализа данных является pandas. С её помощью вы можете импортировать в Python .csv файлик и привести его в привычный для большинства вид таблицы типа Excel. Библиотека сравнительно новая: её разработка началась в 2012 году.
За машинным обучением и аналитикой данных стоят реальные люди и принимаемые ими решения. Зачастую надо понимать не только цифры, но и устройство мира: экономика, политика, социология и другие ресурсы призваны в этом помочь. Лично я много читаю bloomberg, the economist, damodaran, business insider, zerohedge. Есть и другие ресурсы, которые помогут вам расширить свой кругозор. Недавно нашёл классную картинку про иностранные СМИ. Смотрите далее.
Для широты мышления: иностранные СМИ по степени правдивости и взглядов.
Jupyter Noyebook - очень удобная среда для разработки. Пишите код прямо в своём интернет-браузере!
Советую всем начинать работу с Python именно с установки Jupyter Notebook. Причин на это несколько: (1) очень удобно (2) формат ноутбуков поддерживается многими программами (3) в него уже встроены основные библиотеки - значит не надо заморачиваться с установкой! 😉
Дамы и господа, хочу сообщить одну маленькую новость: я меняю место работы и ухожу заниматься старт-апом. Моими инвесторами выступают крупнейшие компании США, а штат моих работников - программистов уже укомплектован ребятами из Калифорнии, Лондона и Москвы. Мы будем создавать искуственный интеллект для банковского сектора. На мне полное управление компанией и доля в бизнесе. В связи с этим я обещаю писать больше и интереснее! Надеюсь, кроме кода вам будет интересно узнать про продажи и то, как мыслит российский топ-менеджмент. Поехали!
👍1
Айтишники - натуры хрупкие. Чем больше человек занимается кодом, тем слабее становятся его социальные скиллы (в лучшем случае остаются на том же уровне). Так вот гении-программисты - это обычно асоциальные люди, в разговоре с которыми надо максимально фильтровать свою речь, чтобы (1) их не обидеть (2) не заставить их сомневаться в целесообразности твоей бизнес-идеи (3) не демотивировать их. Обычно в компаниях существует прослойка между бизнесом и программистами, которая зовётся IT project management. Эти ребята умеют разговаривать с обеими сторонами процесса и имеют верхнеуровневое представление как о деятельности реального бизнеса, так и об основах программирования. Они приоритезируют задачки от бизнеса и следят за производительностью кодеров.
Немного про самомотивацию. Японское понятие икигай переводится как «смысл жизни». Эта структура и правда классная: с её помощью можно расставить приоритеты в жизни и лучше понять себя и свою работу!
Откуда берутся данные?

Сканеры, кассы, мобильные, камеры безопасности и ERP системы постоянно посылают данные в компании, которые ими владеют. На входе эта информация сырая и неструктурированная. Чтобы привести её в порядок, в больших компаниях есть специальные люди, которые создают хранилище данных в виде таблиц и витрин. Части единого хранилища могут различаться по быстродействию и тематике: из-за этого на первый взгляд простой анализ может оказаться муторной работой по собиранию данных в течение месяца из разных источников. Всегда следите за тем, откуда у вас данные и чем вы кормите своё машинное обучение и нейросети.
Лично мне больше всего понравилась вот такая картинка про устройство BI в компаниях.