Pull to refresh
0
0.1
Send message

Теоретические основы всех популярных алгоритмов машинного обучения и их реализация с нуля на Python

Level of difficultyHard
Reading time1 min
Views24K

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

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments21

Еще один практический пример использования ИИ: скучные открытые публичные встречи в краткое саммари

Level of difficultyMedium
Reading time7 min
Views2.2K

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

 PS: Прокомментирую, (после публикации встретила абсолютно обоснованные удивления), что NDA не нарушаем, конечно же, только публичные открытые встречи и стримы. Слово "совещания" окрашивает информацию в закрытый формат)))

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments7

Как создать свою собственную нейронную сеть с нуля на Python

Level of difficultyMedium
Reading time5 min
Views66K

Как создать свою собственную нейронную сеть с нуля на Python

Мотивация: в рамках моего личного пути к лучшему пониманию глубокого обучения я решил создать нейронную сеть с нуля без библиотеки глубокого обучения, такой как TensorFlow. Я считаю, что понимание внутренней работы нейронной сети важно для любого начинающего специалиста по данным. Эта статья содержит то, что я узнал, и, надеюсь, она будет полезна и вам!

Что такое нейронная сеть?

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

Нейронные сети состоят из следующих компонентов:

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments19

Создаем свой загрузочный диск Linux

Reading time13 min
Views38K

В статье описывается способ, как создать собственный загрузочный диск Linux (оптический диск или флешку), добавить в него только нужные программы и убрать все лишнее. Полученный образ в экспериментах занял менее 25 Мб. Он позволяет быстро загружаться, работать в текстовом режиме, создавать, редактировать, удалять файлы на разных файловых системах, имеет поддержку русского языка. За основу взят Debian.

Читать далее
Total votes 55: ↑55 and ↓0+55
Comments9

Задача коммивояжера (TSP) точное решение — метод ветвей и границ

Reading time17 min
Views16K

Что делает код хорошим? Большинство программистов ответят: хороший код должен быть структурирован, легко читаем и понятен. Но так ли важно качество кода, если он медленный? В большинстве задач производительность кода не критична, хотя и желательна. Но есть задачи, время выполнения которых столь огромно, что выигрыш в производительности доминирует над всем остальным.

Я говорю про NP-трудные задачи (NP-трудность - недетерминированная полиномиальная трудность по времени) и на одной из данного класса хочу акцентировать ваше внимание. Задаче коммивояжера.

Мы не будем рассматривать эвристические алгоритмы, нам нужно точное решение.

Читать далее
Total votes 32: ↑32 and ↓0+32
Comments42

Что делать, когда выпускник топ-10 мирового вуза не может спроектировать блок сложения A+B

Reading time5 min
Views120K

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

Когда я вижу у недавнего выпускника в резюме какой-то из протоколов в котором используется 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.

Как же прокачаться чтобы такого не было?
Total votes 109: ↑97 and ↓12+111
Comments222

Оживление виртуальных героев: как выглядит рабочий процесс 3D-аниматора

Reading time9 min
Views8.1K

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

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

Читать далее
Total votes 44: ↑44 and ↓0+44
Comments4

Как настроить python в Linux под свой проект?

Reading time4 min
Views32K

Привет, Хабр! Меня зовут Дмитрий Алексеев, я Data Scientist и являюсь участником профессионального сообщества NTA. Сегодня расскажу как использовать python и Linux «в связке», и как это поможет облегчить вам жизнь.

Читать далее
Total votes 21: ↑9 and ↓12+1
Comments16

Небанальные правила чистого Python. Часть 1

Reading time6 min
Views19K

Большинство питонистов не раз слышали о таких правилах как «функции должны быть глаголами» или «не наследуйтесь явно от object в Python 3». В этой статье рассмотрим не такие банальные, но полезные правила чистого кода в Python.

Читать далее
Total votes 40: ↑38 and ↓2+45
Comments49

Ученые нашли упражнение, позволяющее худеть, сидя по 10 часов в день

Reading time6 min
Views345K


Недавно опять разгорелась дискуссия, как можно похудеть, работая в IT. Так вот, хороший (и научный) способ есть, и он на самом деле проще, чем можно было бы ожидать.


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


Например, было доказано, что независимо от уровня физической активности слишком много сидения увеличивает риск сердечных заболеваний, диабета, деменции и серьезных проблем со спиной. Более половины всех людей в мире сегодня уже страдают от этих проблем, и больше 80% людей в возрасте 60+.


Решение, конечно, простое — упражнения, в любой возможной форме. Но если вы такие как я, то тренироваться скучно и тяжело, правда? Большинство из нас ненавидят физкультуру. К тому же, на это нет лишнего времени. Бонусные часы каждый день магически не появятся.


Но похоже, есть способ ускорить обмен веществ в организме, даже сидя за ПК. И точно избежать проблем с метаболизмом и ожирением. Несколько недель назад вышла работа ученых под руководством Марка Гамильтона из Хьюстонского университета. Они разработали технику, позволяющую задействовать неожиданное свойство икроножных мышц, и делать для своего организма полноценную тренировку, не вставая со стула. Оказывается, похудеть, работая в IT, — это не так уж и сложно. Испытываю на себе, полёт нормальный. А какие у вас ноги будут прокачанные!

Читать дальше →
Total votes 149: ↑135 and ↓14+151
Comments296

Как оставаться программистом, если у тебя память как у дрозофилы

Reading time15 min
Views62K

Мой мадригал тем инструментам разработки, которые изменили мою жизнь

Программирование стало гораздо более многогранным ремеслом с тех пор, как в середине 1990-х я впервые попробовал AmigaBASIC. В те времена еще можно было купить один большой том о компьютере, на котором вы программируете – и там бы нашлось 99% всей нужной информации. Эта книга, где на множестве страниц уголки загнуты в качестве закладок, обклеенная стикерами, лежала бы у вас под рукой, пока вы вбивали бы команды в монохромный текстовый редактор.

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

Сегодня никто бы больше и не подумал покупать документацию по разработке – и Microsoft, и Apple свободно выкладывают свою документацию в Интернете для всех желающих. А что говорить о проектах с открытым исходным кодом!

Во времена npmPyPI и GitHub сложно объяснить, насколько неоднозначным решением (которое требовалось всесторонне обдумывать) раньше считалось потребовать хоть какие-нибудь возможности, которые выходили бы за рамки функционала операционной системы. Часто вместе с продуктом приходилось сдавать и все его зависимости.

Читать далее
Total votes 39: ↑35 and ↓4+43
Comments40

Год на Airtable: как настроить процессы в компании с помощью low-code решения и стоит ли?

Reading time7 min
Views4.4K

Привет, Хабр! Сегодня поговорим о работе с таким продуктом, как Airtable. Его можно использовать малому, среднему и в определенных ситуациях — даже крупному бизнесу (в последних двух случаях — как временное решение, в статье объясню, почему). Airtable ни в коем случае не универсальный инструмент, а применять его стоит на первых порах развития проекта — когда все еще неясно, какие системы нужно внедрять, но функционала гугл-таблиц уже не хватает. Мы пройдемся по основным функциям Airtable и посмотрим, какую пользу они принесли продукту, который развивал я. Подробнее обо всем этом — под катом.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Цифровой баланс: часть 1 – Браузер и расширения

Reading time5 min
Views2.6K

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

Сегодня я расскажу о расширениях для браузера Google Chrome, которые позволяют мне сфокусировано работать над задачами, экономить время при получении информации и, по моим ощущениям, сэкономили мне наверное уже несколько месяцев, которые я бы мог потратить впустую.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments11

Best Practices для Python

Reading time6 min
Views35K

Лучшие практики в Python по моему мнению

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

В этой статье я расскажу о подобных негласных правилах, о своих наблюдениях в мире Python и о своих Best Practices.

Читать далее
Total votes 33: ↑27 and ↓6+24
Comments48

Памятка/шпаргалка по SQL

Reading time29 min
Views890K

Доброго времени суток, друзья!


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

Читать дальше →
Total votes 41: ↑37 and ↓4+42
Comments18

Метод K-Nearest Neighbors. Разбор без использования бибилотек и с использованием бибилиотек

Reading time11 min
Views33K

Начнем разбор алгоритмов машинного обучения с наиболее прозрачной для понимания задачи классификации. Чтобы понять, что это за задача и для чего она вообще решается, давайте вспомним о весьма перспективной разработке - беспилотных автомобилях. Понятно, что сама по себе машина не понимает, что такое проезжая часть, и не может отличить человека от светофора - для этого ее надо научить различать знаки, людей, животных и т.д. Здесь, помимо достаточно сложных отраслей машинного обучения, таких как машинное зрение и системы принятия решений, используется классификация: автомобиль "учится" различать препятствия, которые необходимо объехать; людей, чтобы пропустить их при переходе дороги; знаки, чтобы точно следовать правилам. Говоря простым языком, система относит объекты к тому или иному классу, чтобы правильно себя вести при встрече с ними, то есть классификация в машинном обучении - не что иное, как задача отнесения объекта к одному из заранее определенных классов на основании его признаков.

Начнем с kNN - одного из наиболее распространенных методов классификации в ML. Его достаточно просто реализовать в отличие от других алгоритмов, поэтому для наглядности того, как в целом работает классификация, мы сначала напишем собственную реализацию и посмотрим на результаты, применив метод к стандартному датасету Iris, а затем сравним с библиотечной реализацией из библиотеки sklearn. Следующие алгоритмы мы не будем разбирать настолько досконально из-за трудоемкой реализации - рассмотрим общую методологию и разберем, на основе чего алгоритм принял решение в пользу того или иного класса.

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments5

Виртуален и очень безопасен – как мы делаем тренажёры для АЭС, чтобы не повторилась Фукусима

Reading time6 min
Views5.8K

Всем привет! Вам никогда не хотелось поломать ядерный реактор? Мы, компания ЭНИМЦ МС («Моделирующие системы») из города Первой в мире АЭС Обнинска, виртуально занимаемся этим ежедневно, потому что одно из направлений нашей работы – создание тренажёров для атомных станций. Для чего нужны такие тренажёры и как они делаются – читайте под катом.

Когда тренажёры возили грузовиками

История компании начиналась в советские времена, когда военные от щедрот душевной решили поделиться с обнинским атомным вузом (на тот момент – филиал МИФИ) списанным тренажёром. После того, как студент четверокурсник Валерий Левченко с трудом растолкал груды железа по каморкам и аудиториям, военные позвали его разгружать следующий грузовик. Так стало понятно, что тренажёры для атомной отрасли – дело серьёзное, и так появилась сначала лаборатория (начальником которой стал Валерий), а потом на её месте наша компания.

Читать далее
Total votes 28: ↑27 and ↓1+39
Comments15

Технотекст-2021: есть победители

Reading time3 min
Views6.3K

Привет, Хабр! 9 месяцев, 600 заявок, 570 принятых заявок, 1,5 месяца работы жюри, 15 профессионалов в жюри в соответствие с номинациями и 0,5 потерянного протокола — так выглядит конкурс технических статей на Хабре «Технотекст-2021». Вчера мы подвели итоги на онлайн-встрече, поговорили с некоторыми членами жюри и даже рассказали несколько баек. Сегодня мы публикуем список победителей, полный разбор будет чуть позже. Поздравляем, вы лучшие из лучших (а худших на конкурсе не было)!

Читать далее
Total votes 40: ↑38 and ↓2+70
Comments13

Work in Progress: самодельный микро ЧПУ-робот для заточки фрез и свёрл

Reading time13 min
Views19K

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

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

Сразу скажу, что ничего подобного (несмотря на достаточно напряжённые поиски) — я никогда не встречал. Ни в российском сегменте интернета, ни в мировом. Так что, не удивлюсь, если подобный аппарат, с теми характеристиками, которые рассматриваются ниже — будет первым в мире!

Читать дальше →
Total votes 46: ↑43 and ↓3+63
Comments104
1

Information

Rating
2,811-th
Registered
Activity