03 Декабря 2017
314

Машинное обучение. Технический пост: с чего начинать и на что обратить внимание.

Всем привет! Меня довольно часто спрашивали в комментариях к научным постам, откуда лучше стартовать в машинном обучении и анализе данных. Ну что же. Попробуем собрать воедино мой опыт и посвятить пост техническим вопросам.

Оглавление:

0. Как вообще изучать

1. Тематические ресурсы.

2. Техническая часть.

3. Площадки

Как вообще изучать это дело?

Любая наука двигается людьми. Каждый учёный имеет свою область интересов, поэтому надо в первую очередь определиться, что тебе интересно. Вообще, в России самый-самый главный по машинному обучению - это Воронцов Константин Вячеславович. Он написал ряд лекций, каждая из которых от "А" до "Я" всё объясняет.

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

Воронцов в своей диссертации затрагивает вопросы переобучения. Если вкратце, то он описывает методы, по которым можно понять, а хорош ли ваш алгоритм? Не переобучился ли? Знания тут... очень и очень нетривиальные. В качестве бонуса, рекомендую прочитать его приложение. Там он описывает как исследование длинною в 10 лет можно было... провести за один час, если сделать правильный эксперимент. В общем, рекомендую.


А может вы хотите вообще узнать откуда это дело пошло? Или получить пару умных практических советов? Ну, тогда вы обязаны прочитать эту классическую статейку от учителя Воронцова.


Я походу своей деятельности занимался компьютерной лингвистикой. В компьютерной лингвистике правит бал сейчас модель word2vec. Поэтому, берём работы Tomasa Mikolova и гуглим его труды. Это  даст вам необходимый минимум.

Тематические ресурсы.

Вообще, литературы по этому делу в интернете масса. Однако,что редкость, в русскоязычном сегменте есть весьма достойный сайт. Там можно найти почти всё! Вообще, такие сайты большая редкость. Думаю, что многие вспомнят хабр... Ну там... Там больше технические моменты описываются. С точки зрения программиста, хабр вещь незаменимая, но с научной... Мне попадались там действительно удачные циклы научпопа про тематическое моделирование. Если вам надо постараться смоделировать поведение пользователя, опираясь на тематики, то рекомендую их блог. На пальцах объясняют как это сделать и почему это будет работать. Результаты экспериментов прилагаются.


В последнее время, детище Грефа стало проявлять интерес к машинному обучению. Второй год подряд проводят конкурсы с очень неплохими призовыми, а результаты публикуют здесь. Также могу порекомендовать неплохую конфу "АИСТ".  ВНИМАНИЕ, её результаты идут в Scopus!!! То есть - неплохая возможность получить публикацию в зарубежном журнале. Примите к сведению. Помимо чисто практических интересов (публикация) там проскакивают весьма и весьма интересные работы.


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

ШАД/курсы

ШАД - это бренд. Я не знаю, что там проходят точно, но я уверен, что там круто. Очень круто. Поступление бесплатное, но очень трудное. Подробнее с задачами можно ознакомиться здесь. Из онлайн курсов я бы порекомендовал мониторить stepic. Там можно выцепить весьма любопытные курсы. Между прочим,  с сертификатами, что весьма приятно. И бесплатно.

Техническая часть

Ну, тут всё просто. Идём и смотрим на hh/linkedin/stackoverflow что интересует потенциального работодателя.

1. SQL/NoSQL

2. Стэк: Big Data: Hadoop, Hive, Spark (для инженеров)

3. Python - просто маст хэв. Особенно его библиотеки для машинного обучения.

4. Желательно java

5. R, mathlab


Если интересно для себя, то:

1. h20. Интуитивно просто и понятно. Я всегда использую для разных конкурсов :)

2. MS Azure. Детище майкрософта. Интерфейсом напоминает RapidMiner, раньше была платной, как сейчас - хз. Есть всё. В сети довольно много уроков, которые рассказывают, как этим пользоваться.

3. RapidMIner. Штука прикольная. Интерфейс довольно простой и дружелюбный. Из минусов: в бесплатной версии всего 1 гиг оперативки можно использовать, что довольно печально.

Площадки

Ну вот вы натренировались, выучили всё, что можно и вам не терпится попробовать свои силы? Ну тогда вам

1. Kaggle. Самая-самая платформа для конкурсов по машинному обучению. Для сильных духом. Вообще, помимо конкурсов, можно почитать форумы, посмотреть тестовые проекты и поискать работу.

2. Гугл наш друг. Вбиваем machine learning contest и смотрим, что есть.

Показать полностью
86

Кочерга Витгенштейна

Одним из самых ярких эпизодов истории философии XXв. считается десятиминутный спор между двумя - по мнению многих исследователей философии - самыми выдающимися философами прошлого столетия – Людвигом Витгенштейном и Карлом Поппером. Этот спор состоялся 25 октября 1946г. в Кембридже в Кингз-колледже, корпус Гиббса. Данная встреча была также примечательна тем, что это был первый и последний случай, когда в одном месте в одно время встретились три величайших мыслителя ХХв. – уже названные Людвиг Витгенштейн и Карл Поппер, а также Бертран Рассел.

Кочерга Витгенштейна Философия, Длиннопост, Спор, Логика

Людвиг Витгенштейн


Неприязнь между Поппером и Витгенштейном по воспоминаниям очевидцев ощущалась едва ли не в воздухе. Оба были эгоцентричными, даже самовлюбленными, заносчивыми и свысока смотрели на оппонентов. Поппер к тому моменту прославился своим трудом “Открытое общество и его враги” и был приглашен в Кембридж для чтения ряда лекций по философским проблемам. Поппер был несдержан и в спорах едва ли не переходил грань тактичности, но при этом неизменно разносил в пух и прах позицию оппонентов. Витгенштейн, в свою очередь, был иконой и лидером самого мощного философского течения ХХ-го столетия – аналитической философии. Витгенштейн был до конца убежден в абсолютной истинности своих теорий и считал, что все проблемы философии решены в его работах. Оба философа отличались пренебрежительным отношением к студентам и даже своим коллегам, что создавало множество сложностей в работе и при общении с окружающими. Что интересно, формально обоих философов причисляют к позитивистам, но Поппер всегда демонстративно, и, по мнению многих, необоснованно, дистанцировался от позитивистов. Что еще подогревало Поппера так это тот факт, что почти все собравшиеся в тот вечер признавали абсолютное лидерство и превосходство Витгенштейна как философа той эпохи.

Кочерга Витгенштейна Философия, Длиннопост, Спор, Логика

Карл Поппер


Итак, в тот вечер Поппер должен был зачитать доклад на заранее подготовленную тему “Существуют ли философские проблемы?”. Формулировка доклада принадлежала Витгенштейну, о чем Поппер, по его словам, сразу догадался. Тут нужно заметить, что Витгенштейн придерживался точки зрения, согласно которой в философии нет проблем, есть лишь паззлы, головоломки, решение которых состоит в том, чтобы правильно расположить составные элементы рассматриваемого вопроса и увидеть, таким образом, целое, доказав эфимерность проблемы, над которой бьются умы. Инструмент для решения подобных головоломок по Витгенштейну – лингвистический анализ, прояснение языка. Поппер же утверждал, что любой, кто утверждает, будто у философии нет проблем, бессознательно черпает свою энергию вызова в важной философской проблеме – проблеме мышления.


Во время доклада Витгенштейн сидел у камина с раздраженным видом и крутил в руках кочергу в своей привычной манере. После того, как один из присутствующих сделал замечание, возмутившее Витгенштейна, последний тут же вскочил с места и в нервной, даже грубой форме потребовал, чтобы Поппер привел пример хотя бы одной философской проблемы. Последний, конечно же, заранее подготовил список проблем и не растерялся.


“Познаем ли мы вещи чувствами?” - выпалил Поппер. “Логика. Не философия. Дальше” - парировал Витгенштейн.

“Пользуемся ли мы индукцией в приобретении знания?”- продолжал докладчик. “Логика. Не философия. Дальше” – снова отверг пример Витгенштейн.

“Существует ли потенциальная и актуальная бесконечность?” – не унимался Поппер. “Математика. Не философия. Дальше” – чуть ли не кричал рассерженный Витгенштейн, сжимая в руке кочергу.

Бертран Рассел привстав, чтобы унять спорщиков, обратился к Витгенштену - “Людвиг, положи кочергу на место!”. “Ты никогда не понимал меня Рассел” – крикнул Витгенштейн. “Ты все путаешь, Людвиг” – попытался смягчить ситуацию Рассел. В это время Поппер завершает серию вопросов:

“Существуют ли значимые нравственные нормы?”. Витгенштейн, делает шаг навстречу Попперу, и говорит “Приведите пример нравственной нормы!”. На что Поппер тут же отвечает “Не угрожать приглашенным лекторам раскаленной кочергой”. Витгенштейн в ярости кидает на пол кочергу и выходит из комнаты, громко хлопнув дверью.

Кочерга Витгенштейна Философия, Длиннопост, Спор, Логика

Фан-арт (на него ругался БМ)


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

Кочерга Витгенштейна Философия, Длиннопост, Спор, Логика

Говорят, что это тот самый "железный аргумент" Витгенштейна (не уверен)


В дальнейшем Поппера станут называть “убийцей позитивизма”, после того как он опровергнет главный принцип позитивистов “принцип верификации”, введя понятие "фальсифицируемость". Но это уже совсем другая история.

Показать полностью 4
8

Нужна помощь с дтп

Здравствуйте, уважаемые пикабушники.
Оказался в ситуации, когда нужно ставить #помощь. Вчера (02.12) примерно в 18:00(3-я парковая улица, д. 32/23) произошло дтп с участием машин Kia и smart.
Я владелец машины Киа, совершал поворот во двор. Но внезапно в правую бочину мне влетел авто. На приличной скорости. Дорога там узкая. Две машины не уместится. Обгон я не совершал. Чего не скажешь про второго владельца. (чем он руководствовался вообще не ясно) Но из-за того что удар пришелся мне в бок. Все выглядит иначе, и виновником дтп считают меня... Мягко говоря я в шоке, обратился куда только мог, надеюсь на то, что на пикабу сидят очевидцы. Может кто-нибудь поможет. Камер вокруг не нашел, юрист говорит что я попал... Помогите

пс: от удара меня оттолкнуло, я был поближе к правому краю.

Нужна помощь с дтп Помощь, ДТП, Вао

Старше всех или как у меня пригорело

Смотрю значит фильм. Триллер, ужасы, всё как доктор прописал. Решив отвлечься от всякой шизы, вваливаюсь в кресло к теле-ящику аккурат на передачу "Старше всех"(получается выпуск от 3.12.).Пригласили в зал дедку, мол," инженер-самоучка сейчас вам покажет как надо жизнь свою оптимизировать". Ну а я шо, лишние знания не отягощают... и если коротко то это "мат-в-три-этажа". Этот деда начал показывать вещи давно, бытующие в глобальной сети интернета, и они выдаются за собственные "гениальные разработки".Объясните может я слепой и глухой и ничего не понимаю, или это взаправду что-то из района плагиата и других подобных прелестей? Если я просто очень туп, то дайте мне знать.
Ну а так, всем добра и позитива.

47

Недельный отчет №4 Типы пуль и виды вооружения

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

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

И опишу все виды вооружения которые существуют на данный момент. Видов, пока что, всего 9. В каждом из видов будет по 6 пушек - 3 обычные и 3 усиленные. В общем, получается, около 54-х штук, пока не так уж и густно, но это только для начала.

Первый, самый простой но от этого не самый бесполезный вид оружия - пулевое:

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

Копия пулеметов, пистолетов, автоматов и прочих банальностей. Стреляет обычной пулей, пуля уничтожается при прикосновении к противнику, не взрывается. Имеет и тяжелую версию, более медленную но более убойную. Полет всегда происходит с одной скоростью, в отличие от другого типа пули - дроби, которым стреляет дробное оружие:

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

Дробное оружие - аналог дробовиков. Эффективно вблизи, помойка на дальней дистанции. Дробь наносит меньше урона, замедляется при движении, уничтожается при касании с противником. Оставляет за собой след, т.к. пуля маленькая и видно её плохо при полете. Помимо дроби, след оставляет и еще один тип снарядов - ракеты:

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

Ракеты взрываются при касании с противником, а не просто уничтожаются. Следуют в сторону курсора. Планирую добавить как тяжелые ракеты, медленные, с гигантским радиусом взрыва, так и маленькие - быстрые, многочисленные и слабые.

Вторым типом взрывного оружия являются гранатометы:

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

Медленный полет бомбы, остановка снаряда, но - хороший урон. Хочу добавить прыгающие бомбы, а также, любая бомба будет рикошетить от стен, что позволит разбираться с толпой из-за угла.

Первым оружием, которое не просто попадает, но и пробивает противника, является лазерное:

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

Урон не большой, но данный тип оружия эффективен в коридорах, против толпы. Чем выше уровень этого типа оружия, тем шире лазер и выше скорострельность. Тяжелые виды смогут копить заряд и, в зависимости от него, дополнительно увеличивать свой урон. Лазерное оружие не будет иметь зарядов, но будет перегреваться. Вторым оружием с пробитием будет плазма, но, на данный момент, я его еще не реализовал.

Еще одним в списке убийц толпы являются "спреи":

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

Огнеметы, ледометы, глинометы - любое оружие, что извергает из дула жидкости или пар. Эффективно на ближней дистанции, быстро заканчивается, поджигает горючие вещества на полу. Недобитых и горящих противников можно добить вручную, если за пазухой есть оружие ближнего боя:

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

Нет зарядов, нет патронов - чистая халява. Однако, дропается редко, и наносит меньше урона большим целям. Поэтому у персонажа "Заключенный 47" и имеется бонус на данный тип вооружения. Хочу добавить что-то вроде механики добиваний для этого типа, чтобы были определенные бонусы за убийство холодным оружием, но, пока что, не придумал как это конкретно сделать.

И последний, но не менее интересный тип - уникальные. У каждого из экземпляров этого типа будет иметься своя механика. Первым и пробным я реализовал Мьёлнир - молот с пробивной силой, который возвращается к хозяину долетая до курсора:

Недельный отчет №4 Типы пуль и виды вооружения Game maker studio 2, Инди игра, Gamedev, Гифка, Длиннопост, Roguelike

Вот, в принципе, и все. Теперь нужно сделать тоже самое для предметов, хотя бы примерно. Постараюсь проанализировать для этого Risk of Rain и Isaaс, у этих игр очень интересные механики итемов. Если у вас есть на примете аналоги таких игр или где-то вас удивили некоторые вещи - буду рад примерам)

Показать полностью 9
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите