В данной статье в виде ссылок представлены все популярные алгоритмы классического машинного обучения с их подробным теоретическим описанием и немного упрощённой реализацией с нуля на Python, отражающей основную идею. Помимо этого, в конце каждой темы указаны дополнительные источники для более глубокого ознакомления, а суммарное время прочтения статей ниже составляет более трёх часов!
User
Еще один практический пример использования ИИ: скучные открытые публичные встречи в краткое саммари
На работе последнее время участились случаи супер-пупер-важных голосовых созвонов из-за которых ну просто невозможно сосредоточиться на сложной интеллектуальной работе. Слушаешь час разговора, из которых 5 минут эффективные, а остальное – тоже важная, конечно же, модераторская работа про климат на встрече, про изучение мнение каждого, дискуссия и выработка какого-то общего заключения. А потом еще вычлени действительно важное. А что, если попробовать переложить эти функции на искусственный интеллект?
PS: Прокомментирую, (после публикации встретила абсолютно обоснованные удивления), что NDA не нарушаем, конечно же, только публичные открытые встречи и стримы. Слово "совещания" окрашивает информацию в закрытый формат)))
Как создать свою собственную нейронную сеть с нуля на Python
Как создать свою собственную нейронную сеть с нуля на Python
Мотивация: в рамках моего личного пути к лучшему пониманию глубокого обучения я решил создать нейронную сеть с нуля без библиотеки глубокого обучения, такой как TensorFlow. Я считаю, что понимание внутренней работы нейронной сети важно для любого начинающего специалиста по данным. Эта статья содержит то, что я узнал, и, надеюсь, она будет полезна и вам!
Что такое нейронная сеть?
В большинстве вводных текстов по нейронным сетям при их описании используются аналогии с мозгом. Не углубляясь в аналогии с мозгом, я считаю, что проще описать нейронные сети как математическую функцию, которая отображает заданный вход в желаемый результат.
Нейронные сети состоят из следующих компонентов:
Создаем свой загрузочный диск Linux
В статье описывается способ, как создать собственный загрузочный диск Linux (оптический диск или флешку), добавить в него только нужные программы и убрать все лишнее. Полученный образ в экспериментах занял менее 25 Мб. Он позволяет быстро загружаться, работать в текстовом режиме, создавать, редактировать, удалять файлы на разных файловых системах, имеет поддержку русского языка. За основу взят Debian.
Задача коммивояжера (TSP) точное решение — метод ветвей и границ
Что делает код хорошим? Большинство программистов ответят: хороший код должен быть структурирован, легко читаем и понятен. Но так ли важно качество кода, если он медленный? В большинстве задач производительность кода не критична, хотя и желательна. Но есть задачи, время выполнения которых столь огромно, что выигрыш в производительности доминирует над всем остальным.
Я говорю про NP-трудные задачи (NP-трудность - недетерминированная полиномиальная трудность по времени) и на одной из данного класса хочу акцентировать ваше внимание. Задаче коммивояжера.
Мы не будем рассматривать эвристические алгоритмы, нам нужно точное решение.
Что делать, когда выпускник топ-10 мирового вуза не может спроектировать блок сложения A+B
У меня был в свое время практикант из Стенфорда, от которого я получил инсайдерскую информацию, чему их там учат. Потом я интервьировал много студентов, и понял, что если человек не делает самостоятельных проектов в вузе, а просто плывет по течению программы как медуза, то будучи выброшенным на берег индустрии, он становится совершенно беспомощным.
Когда я вижу у недавнего выпускника в резюме какой-то из протоколов в котором используется valid/ready, например AXI или AHB, я прошу его спроектировать блок, у которого на входе два числа A и B, а на выходе их сумма. Разумеется не просто написать SUM=A+B, а еще и поставить valid/ready сигналы на каждый из A, B, SUM, чтобы A и B могли приходить в разное время, а также чтобы блок ждал, если SUM не может быть передана другому блоку сразу.
Некоторые не справляются. Грустно смотреть на человека, который потратил 6 лет своей жизни (4 года в бакалавриате и 2 года в магистратуре) и океан денег на образование - и не может сложить два числа и бьется как угорь на сковородке. То блок не работает когда числа приходят в разное время, то создатель забывает снять valid, и блок на 2+2 выдает не 4, а 4-4-4-4-4-4-4... То числа складываются не попарно, а просто записываются в регистры и на выход идет их текущая сумма, хотя количество аргументов A и B не совпадает. То не отрабатывается backpressure и результаты теряются, то (после того как кандидат написал страницу кода на верилоге) блок работает на половинной производительности, то есть не может принимать поток чисел подряд, а ожидает между ними пропуски (gaps). Короче ведет себя как ChatGPT.
Оживление виртуальных героев: как выглядит рабочий процесс 3D-аниматора
Анимации в играх — это полноценное художественное средство, которое позволяет передать характер героя, его настроение и эмоции. Она способна как тесно связать игрока и героя, так и нарушить погружение пользователя в виртуальный мир. А еще испортить впечатление от геймплея и графики.
В этой статье мы разберемся, какие типы анимации вообще существуют, с какими трудностями сталкиваются аниматоры и как выглядит их рабочий процесс.
Почему умножение матриц такое
Наверное, каждый задавался вопросом, почему умножение матриц такое. В этой статье мы разберём из каких соображений оно вводится именно так.
Как настроить python в Linux под свой проект?
Привет, Хабр! Меня зовут Дмитрий Алексеев, я Data Scientist и являюсь участником профессионального сообщества NTA. Сегодня расскажу как использовать python и Linux «в связке», и как это поможет облегчить вам жизнь.
Небанальные правила чистого Python. Часть 1
Большинство питонистов не раз слышали о таких правилах как «функции должны быть глаголами» или «не наследуйтесь явно от object в Python 3». В этой статье рассмотрим не такие банальные, но полезные правила чистого кода в Python.
Ученые нашли упражнение, позволяющее худеть, сидя по 10 часов в день
Недавно опять разгорелась дискуссия, как можно похудеть, работая в IT. Так вот, хороший (и научный) способ есть, и он на самом деле проще, чем можно было бы ожидать.
Конечно, если ничего не делать, то будешь только толстеть. Средний офисный сотрудник сегодня сидит больше 10 часов в день. Мы с вами, чувствую, ещё больше, особенно если на досуге играем, читаем Хабр или смотрим ютуб. Лично меня от компьютера вообще не оттащить. Хотя читал полно исследований, говорящих о больших проблемах со здоровьем, возникающих из-за малоподвижного образа жизни.
Например, было доказано, что независимо от уровня физической активности слишком много сидения увеличивает риск сердечных заболеваний, диабета, деменции и серьезных проблем со спиной. Более половины всех людей в мире сегодня уже страдают от этих проблем, и больше 80% людей в возрасте 60+.
Решение, конечно, простое — упражнения, в любой возможной форме. Но если вы такие как я, то тренироваться скучно и тяжело, правда? Большинство из нас ненавидят физкультуру. К тому же, на это нет лишнего времени. Бонусные часы каждый день магически не появятся.
Но похоже, есть способ ускорить обмен веществ в организме, даже сидя за ПК. И точно избежать проблем с метаболизмом и ожирением. Несколько недель назад вышла работа ученых под руководством Марка Гамильтона из Хьюстонского университета. Они разработали технику, позволяющую задействовать неожиданное свойство икроножных мышц, и делать для своего организма полноценную тренировку, не вставая со стула. Оказывается, похудеть, работая в IT, — это не так уж и сложно. Испытываю на себе, полёт нормальный. А какие у вас ноги будут прокачанные!
Как оставаться программистом, если у тебя память как у дрозофилы
Мой мадригал тем инструментам разработки, которые изменили мою жизнь
Программирование стало гораздо более многогранным ремеслом с тех пор, как в середине 1990-х я впервые попробовал AmigaBASIC. В те времена еще можно было купить один большой том о компьютере, на котором вы программируете – и там бы нашлось 99% всей нужной информации. Эта книга, где на множестве страниц уголки загнуты в качестве закладок, обклеенная стикерами, лежала бы у вас под рукой, пока вы вбивали бы команды в монохромный текстовый редактор.
Современная книга по клиентскому веб-фреймворку может быть толще, чем во времена программирования под C64 бывали мануалы, достаточные для создания полноценных игр. С другой стороны, сегодня информация по любым платформам, для которых требуется писать код, находится буквально в одном клике.
Сегодня никто бы больше и не подумал покупать документацию по разработке – и Microsoft, и Apple свободно выкладывают свою документацию в Интернете для всех желающих. А что говорить о проектах с открытым исходным кодом!
Во времена npm, PyPI и GitHub сложно объяснить, насколько неоднозначным решением (которое требовалось всесторонне обдумывать) раньше считалось потребовать хоть какие-нибудь возможности, которые выходили бы за рамки функционала операционной системы. Часто вместе с продуктом приходилось сдавать и все его зависимости.
Год на Airtable: как настроить процессы в компании с помощью low-code решения и стоит ли?
Привет, Хабр! Сегодня поговорим о работе с таким продуктом, как Airtable. Его можно использовать малому, среднему и в определенных ситуациях — даже крупному бизнесу (в последних двух случаях — как временное решение, в статье объясню, почему). Airtable ни в коем случае не универсальный инструмент, а применять его стоит на первых порах развития проекта — когда все еще неясно, какие системы нужно внедрять, но функционала гугл-таблиц уже не хватает. Мы пройдемся по основным функциям Airtable и посмотрим, какую пользу они принесли продукту, который развивал я. Подробнее обо всем этом — под катом.
Цифровой баланс: часть 1 – Браузер и расширения
Начинаю серию статей про то, как жить осознанно в нашем цифровом мире с потоками информации, бесконечным количеством экранов и уловками сервисов, которые хотят ваше привлечь к себе все ваше внимание. В этих статьях я сделаю обзор инструментария и техник, которые нашел и использую сам и они кардинально влияют на мою жизнь.
Сегодня я расскажу о расширениях для браузера Google Chrome, которые позволяют мне сфокусировано работать над задачами, экономить время при получении информации и, по моим ощущениям, сэкономили мне наверное уже несколько месяцев, которые я бы мог потратить впустую.
Best Practices для Python
Лучшие практики в Python по моему мнению
Многие разработчики хоть раз задумывались о негласных правилах разработки. Самые популярные подобные практики стали широко известными и их стараются придерживаться все программисты.
В этой статье я расскажу о подобных негласных правилах, о своих наблюдениях в мире Python и о своих Best Practices.
Памятка/шпаргалка по SQL
Доброго времени суток, друзья!
Изучение настоящей шпаргалки не сделает вас мастером SQL, но позволит получить общее представление об этом языке программирования и возможностях, которые он предоставляет. Рассматриваемые в шпаргалке возможности являются общими для всех или большинства диалектов SQL.
Метод K-Nearest Neighbors. Разбор без использования бибилотек и с использованием бибилиотек
Начнем разбор алгоритмов машинного обучения с наиболее прозрачной для понимания задачи классификации. Чтобы понять, что это за задача и для чего она вообще решается, давайте вспомним о весьма перспективной разработке - беспилотных автомобилях. Понятно, что сама по себе машина не понимает, что такое проезжая часть, и не может отличить человека от светофора - для этого ее надо научить различать знаки, людей, животных и т.д. Здесь, помимо достаточно сложных отраслей машинного обучения, таких как машинное зрение и системы принятия решений, используется классификация: автомобиль "учится" различать препятствия, которые необходимо объехать; людей, чтобы пропустить их при переходе дороги; знаки, чтобы точно следовать правилам. Говоря простым языком, система относит объекты к тому или иному классу, чтобы правильно себя вести при встрече с ними, то есть классификация в машинном обучении - не что иное, как задача отнесения объекта к одному из заранее определенных классов на основании его признаков.
Начнем с kNN - одного из наиболее распространенных методов классификации в ML. Его достаточно просто реализовать в отличие от других алгоритмов, поэтому для наглядности того, как в целом работает классификация, мы сначала напишем собственную реализацию и посмотрим на результаты, применив метод к стандартному датасету Iris, а затем сравним с библиотечной реализацией из библиотеки sklearn. Следующие алгоритмы мы не будем разбирать настолько досконально из-за трудоемкой реализации - рассмотрим общую методологию и разберем, на основе чего алгоритм принял решение в пользу того или иного класса.
Виртуален и очень безопасен – как мы делаем тренажёры для АЭС, чтобы не повторилась Фукусима
Всем привет! Вам никогда не хотелось поломать ядерный реактор? Мы, компания ЭНИМЦ МС («Моделирующие системы») из города Первой в мире АЭС Обнинска, виртуально занимаемся этим ежедневно, потому что одно из направлений нашей работы – создание тренажёров для атомных станций. Для чего нужны такие тренажёры и как они делаются – читайте под катом.
Когда тренажёры возили грузовиками
История компании начиналась в советские времена, когда военные от щедрот душевной решили поделиться с обнинским атомным вузом (на тот момент – филиал МИФИ) списанным тренажёром. После того, как студент четверокурсник Валерий Левченко с трудом растолкал груды железа по каморкам и аудиториям, военные позвали его разгружать следующий грузовик. Так стало понятно, что тренажёры для атомной отрасли – дело серьёзное, и так появилась сначала лаборатория (начальником которой стал Валерий), а потом на её месте наша компания.
Технотекст-2021: есть победители
Привет, Хабр! 9 месяцев, 600 заявок, 570 принятых заявок, 1,5 месяца работы жюри, 15 профессионалов в жюри в соответствие с номинациями и 0,5 потерянного протокола — так выглядит конкурс технических статей на Хабре «Технотекст-2021». Вчера мы подвели итоги на онлайн-встрече, поговорили с некоторыми членами жюри и даже рассказали несколько баек. Сегодня мы публикуем список победителей, полный разбор будет чуть позже. Поздравляем, вы лучшие из лучших (а худших на конкурсе не было)!
Work in Progress: самодельный микро ЧПУ-робот для заточки фрез и свёрл
В программировании достаточно много прикладных задач, которые напрямую связаны с разработкой физических устройств, на основе микроконтроллеров.
В этой статье мы поговорим об одной моей задумке, которую я вынашиваю достаточно давно и приступил в данный момент к её реализации — ЧПУ робот для заточки фрез и свёрл.
Сразу скажу, что ничего подобного (несмотря на достаточно напряжённые поиски) — я никогда не встречал. Ни в российском сегменте интернета, ни в мировом. Так что, не удивлюсь, если подобный аппарат, с теми характеристиками, которые рассматриваются ниже — будет первым в мире!
Information
- Rating
- 2,811-th
- Registered
- Activity