Pull to refresh
0
@denisgontarevread⁠-⁠only

User

Send message

Метод главных компонент (PCA). Принцип работы и реализация с нуля на Python

Level of difficultyHard
Reading time8 min
Views9K

Метод главных компонент (Principal Component Analysis или же PCA) — алгоритм обучения без учителя, используемый для понижения размерности и выявления наиболее информативных признаков в данных. Его суть заключается в предположении о линейности отношений данных и их проекции на подпространство ортогональных векторов, в которых дисперсия будет максимальной.

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

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

Пишем асинхронный парсер и скрапер картинок на Python с графическим интерфейсом

Reading time6 min
Views14K

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

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments9

Введение в архитектуру Greenplum

Reading time5 min
Views13K

В этой статье поговорим о Greenplum — СУБД, основанной на PostgreSQL. Разберём её общую архитектуру, способы хранения данных, а также перечислим проблемы, с которыми можно столкнуться в ходе эксплуатации.

Читать далее
Total votes 18: ↑15 and ↓3+12
Comments0

Профессиональные задачи, которые вы можете решить с AI системой ChatGPT от OpenAI

Reading time6 min
Views43K

Мир охватила новая волна безумства вокруг AI, все соц.сети заполнены огромным количеством экспериментов вокруг нового продукта - ChatGPT. В этой статье я расскажу вам о 30+ самых интересных кейсов использования AI-чата на базе открытого искусственного интеллекта от OpenAI.

Читать далее →
Total votes 15: ↑13 and ↓2+11
Comments83

Лучшие новые библиотеки Python за 2022 год

Reading time10 min
Views33K

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

Читать далее
Total votes 25: ↑24 and ↓1+23
Comments14

17 лучших инструментов и технологий для работы с большими данными, о которых нужно знать в 2022 году

Reading time14 min
Views35K

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

Все это стимулирует значительные инвестиции в инструменты и технологии работы с большими данными. В своем отчете за август 2021 года компания IDC, занимающаяся исследованием рынка, оценила ожидаемые мировые расходы на системы больших данных и аналитики в $215,7 млрд в 2021 году, что на 10,1% больше, чем в прошлом году. Она также прогнозирует, что расходы будут расти на 12,8% в год до 2025 года.

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments3

Закончишь за пару недель? 8 самых раздражающих вопросов к Data Scientist

Reading time6 min
Views11K

Сооснователь компании Gramener, занятой в Data Science, рассказывает о 8 заблуждениях в ML в форме вопросов и утверждений. По его словам, в начале карьеры эти заблуждения подобны гранатам, которые могут бросить в вас. Инструкцией по безопасности делимся к старту флагманского курса по Data Science.

Читать далее
Total votes 13: ↑7 and ↓6+1
Comments13

Почему CNTK?

Reading time8 min
Views15K
Привет, Хабр! Меня зовут Женя. В начале карьеры я был Data Scientist, когда это еще не было мэйнстримом. Потом переключился на чистую T-SQL разработку, которая под конец успела перерасти в бизнес-аналитику. Теперь я — технологический евангелист в Microsoft с очевидным упором на платформу данных, хотя это не мешает мне заниматься в свободное время другими классными темами, как, например, Docker контейнеры или Mixed Reality.

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


Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments18

Так ли быстр ваш любимый С или нативная реализация линейной алгебры на D

Reading time2 min
Views18K
Тем, кто занимается системами машинного обучения и компьютерным зрением, хорошо знакома такая библиотека как OpenBLAS (Basic Linear Algebra Subprograms). OpenBLAS написан на C и используется повсеместно там где нужна работа с матрицами. Так же у него есть несколько альтернативных реализаций таких как Eigen и двух закрытых имплементацией от Intel и Apple. Все они написаны на С\С++.

В настоящий момент OpenBLAS используется в матричных манипуляциях в таких языках как Julia и Python (NumPy). OpenBLAS крайне хорошо оптимизирована и значительная её часть вообще написана на ассемблере.

Однако так ли хорош для вычислений чистый C, как это принято считать?

Встречайте Mir GLAS! Нативная реализация библиотеки линейной алгебры на чисто D без единой вставки на ассемблере!
Читать дальше →
Total votes 44: ↑37 and ↓7+30
Comments26

Введение в архитектуры нейронных сетей

Reading time31 min
Views187K


Григорий Сапунов (Intento)


Меня зовут Григорий Сапунов, я СТО компании Intento. Занимаюсь я нейросетями довольно давно и machine learning’ом, в частности, занимался построением нейросетевых распознавателей дорожных знаков и номеров. Участвую в проекте по нейросетевой стилизации изображений, помогаю многим компаниям.

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

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

Дальше я расскажу про важные тренды, что происходит в этой области. Затем мы углубимся в архитектуру нейросетей, рассмотрим 3 основных их класса. Это будет самая содержательная часть.

После этого рассмотрим 2 сравнительно продвинутых темы и закончим небольшим обзором фреймворков и библиотек для работы с нейросетями.
Читать дальше →
Total votes 54: ↑51 and ↓3+48
Comments2

ПО для машинного обучения на Python

Reading time7 min
Views37K


Сегодня существует большое количество программных инструментов для создания моделей Machine Learning. Первые такие инструменты формировались в среде ученых и статистиков, где популярны языки R и Python, исторически сложились экосистемы для обработки, анализа и визуализации данных именно на этих языках, хотя определенные библиотеки машинного обучения есть и для Java, Lua, С++. При этом интерпретируемые языки программирования существенно медленнее компилируемых, поэтому на интерпретируемом языке описывают подготовку данных и структуру моделей, а основные вычисления проводят на компилируемом языке.

В данном посте мы расскажем преимущественно о библиотеках, имеющих реализацию на Python, поскольку этот язык обладает большим количеством пакетов для интеграции в разного рода сервисы и системы, а также для написания различных информационных систем. Материал содержит общее описание известных библиотек и будет полезен прежде всего тем, кто начинает изучать область ML и хочет примерно понимать, где искать реализации тех или иных методов.
Читать дальше →
Total votes 53: ↑39 and ↓14+25
Comments19

Методы наименьших квадратов: текст, написанный программистом для программистов

Reading time19 min
Views36K
Продолжаю публикацию своих лекций, изначально предназначенных для студентов, учащихся по специальности «цифровая геология». На хабре это уже третья публикация из цикла, первая статья была вводной, она необязательна к прочтению. Однако же для понимания этой статьи необходимо прочитать введение в системы линейных уравнений даже в том случае, если вы знаете, что это такое, так как я буду много ссылаться на примеры из этого введения.

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


Читать дальше →
Total votes 84: ↑80 and ↓4+76
Comments13

Изучение data science c нуля: этапы и вехи

Reading time9 min
Views69K

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

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments12

Как устроена нейросеть

Reading time3 min
Views9.5K
Всем привет! Меня зовут Константин Берлинский, я фуллстек-разработчик в компании БКС. Недавно я самостоятельно изучал нейросети и по итогам написал книгу. Ниже я расскажу как устроена простейшая нейросеть.


Читать дальше →
Total votes 26: ↑14 and ↓12+2
Comments23

Нейросеть на Python, часть 2: градиентный спуск

Reading time16 min
Views59K
Часть 1

Давай сразу код!


import numpy as np
X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
alpha,hidden_dim = (0.5,4)
synapse_0 = 2*np.random.random((3,hidden_dim)) - 1
synapse_1 = 2*np.random.random((hidden_dim,1)) - 1
for j in xrange(60000):
    layer_1 = 1/(1+np.exp(-(np.dot(X,synapse_0))))
    layer_2 = 1/(1+np.exp(-(np.dot(layer_1,synapse_1))))
    layer_2_delta = (layer_2 - y)*(layer_2*(1-layer_2))
    layer_1_delta = layer_2_delta.dot(synapse_1.T) * (layer_1 * (1-layer_1))
    synapse_1 -= (alpha * layer_1.T.dot(layer_2_delta))
    synapse_0 -= (alpha * X.T.dot(layer_1_delta))

Часть 1: Оптимизация


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

Суть происходящего в том, что обратное распространение не вносит в работу сети оптимизацию. Оно перемещает неверную информацию с конца сети на все веса внутри, чтобы другой алгоритм уже смог оптимизировать эти веса так, чтобы они соответствовали нашим данным. Но в принципе, у нас в изобилии присутствуют и другие методы нелинейной оптимизации, которые мы можем использовать с обратным распространением:
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments5

Must-have алгоритмы машинного обучения

Reading time5 min
Views30K
Хабр, привет.

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи. Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки.

Метод главных компонент (PCA)/SVD


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

image

SVD — это способ вычисления упорядоченных компонентов.

Полезные ссылки:


Вводный гайд:

Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments6

Python + Keras + LSTM: делаем переводчик текстов за полчаса

Reading time8 min
Views25K
Привет, Хабр.

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



Для тех, кому интересно как это работает, подробности под катом.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments21

Python + OpenCV + Keras: делаем распознавалку текста за полчаса

Reading time12 min
Views200K
Привет Хабр.

После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST).

Если кому интересно, как с помощью этой базы можно сделать несложную распознавалку текста, добро пожаловать под кат.


Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments27

Как начать работу в Kaggle: руководство для новичков в Data Science

Reading time4 min
Views144K
Доброго времени суток, уважаемые хабровчане! Сегодня я хотел бы поговорить о том, как не имея особого опыта в машинном обучении, можно попробовать свои силы в соревнованиях, проводимых Kaggle.

image

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

Мы попробуем поучаствовать в обучающем соревновании, не предусматривающем каких-либо поощрений, кроме опыта.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments11

Information

Rating
Does not participate
Registered
Activity