Pull to refresh

Data mining: Инструментарий — Theano

Python *Data Mining *Big Data *
Tutorial

В предыдущих материалах этого цикла мы рассматривали методы предварительной обработки данных при помощи СУБД. Это может быть полезно при очень больших объемах обрабатываемой информации. В этой статье я продолжу описывать инструменты для интеллектуальной обработки больших объёмов данных, остановившись на использовании Python и Theano.
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 51K
Comments 4

Как легко понять логистическую регрессию

.io corporate blog System Analysis and Design *Big Data *Machine learning *
Tutorial
Translation
Логистическая регрессия является одним из статистических методов классификации с использованием линейного дискриминанта Фишера. Также она входит в топ часто используемых алгоритмов в науке о данных. В этой статье суть логистической регрессии описана так, что она станет понятна даже людям не очень близким к статистике.

image
Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Views 170K
Comments 2

Как подобрать платье с помощью метода главных компонент

.io corporate blog System Analysis and Design *Data visualization *Machine learning *
Translation
Итак, кто не против, чтобы одежду ему подбирала программа, машина, нейросеть?

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

image
Читать дальше →
Total votes 57: ↑54 and ↓3 +51
Views 29K
Comments 13

Устойчивая красота неприличных моделей

Data Mining *Algorithms *Big Data *Mathematics *Machine learning *
Титаника на КДПВ нет, он утонул
— Не могли бы вы построить нам статистическую модель?
— С удовольствием. Можно посмотреть на ваши исторические данные?
— Данных у нас ещё нет. Но модель всё равно нужна.

Знакомый диалог, не правда ли? Далее возможны два варианта развития событий:

A. «Тогда приходите, когда появятся данные.» Вариант рассматриваться не будет как тривиальный.
Б. «Расскажите, какие факторы по вашему мнению наиболее важны.» Остаток статьи про это.

Под катом рассказ о том, что такое improper model, почему их красота устойчива и чего это стоит. Всё на примере многострадального набора данных о выживании пассажиров Титаника.
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Views 17K
Comments 11

Геометрия машинного обучения. Разделяющие гиперплоскости или в чём геометрический смысл линейной комбинации?

Algorithms *Machine learning *
Во многих алгоритмах машинного обучения, в том числе в нейронных сетях, нам постоянно приходится иметь дело со взвешенной суммой или, иначе, линейной комбинацией компонент входного вектора. А в чём смысл получаемого скалярного значения?

В статье попробуем ответить на этот вопрос с примерами, формулами, а также множеством иллюстраций и кода на Python, чтобы вы могли легко всё воспроизвести и поставить свои собственные эксперименты.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 37K
Comments 9

Использование нейронной сети для построения модели оценки заёмщиков в сфере онлайн-микрофинансирования

Finance in IT
Sandbox
В настоящее время для построения скоринговой модели стандартом “де факто” в финансовой отрасли является использование функций логистической регрессии (logit-функций). Суть метода сводится к нахождению такой линейной комбинации начальных данных (предикторов), которая в результате logit-преобразования будет максимально правдоподобно осуществлять предсказания.

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

Другой недостаток logit-функций связан с их линейностью — влияние каждого отдельного предиктора на конечный результат равномерно на всем множестве значений предиктора.
Модели на базе нейронных сетей лишены этих недостатков, но редко применяются в отрасли — нет надежных методов оценки переобучения, большое влияние “шумящих” значений в исходных данных.

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

Читать дальше →
Total votes 15: ↑11 and ↓4 +7
Views 8.9K
Comments 7

Применение моделей CatBoost внутри ClickHouse. Лекция Яндекса

Яндекс corporate blog Open source *Industrial Programming *Machine learning *
В каких ситуациях удобно применять предобученные модели машинного обучения внутри ClickHouse? Почему для такой задачи лучше всего подходит метод CatBoost? Не так давно мы провели встречу, посвящённую одновременному использованию этих двух опенсорс-технологий. На встрече выступил разработчик Николай Кочетов — его лекцией мы и решили с вами поделиться. Николай разбирает описанную задачу на примере алгоритма предсказания вероятности покупки.


— Сначала о том, как устроен ClickHouse. ClickHouse — это аналитическая распределенная СУБД. Она столбцовая и с открытым исходным кодом. Самое интересное слово здесь — «столбцовая». Что оно значит?
Total votes 26: ↑25 and ↓1 +24
Views 13K
Comments 6

Массовый стекинг моделей ML в production: реально или нет?

HeadHunter corporate blog Search engines *Algorithms *Machine learning *
Довольно часто нас спрашивают, почему мы не устраиваем соревнований дата-сайентистов. Дело в том, что по опыту мы знаем: решения в них совсем не применимы к prod. Да и нанимать тех, кто окажется на ведущих местах, не всегда имеет смысл.



Такие соревнования часто выигрывают с помощью так называемого китайского стекинга, когда комбинаторным способом берут все возможные алгоритмы и значения гиперпараметров, и полученные модели в несколько уровней используют сигнал друг от друга. Обычные спутники этих решений — сложность, нестабильность, трудность при отладке и поддержке, очень большая ресурсоёмкость при обучении и прогнозировании, необходимость внимательного надзора человека в каждом цикле повторного обучения моделей. Смысл делать это есть только на соревнованиях — ради десятитысячных в локальных метриках и позиций в турнирной таблице.
Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Views 4.9K
Comments 2

Выявление содержательных профилей в VK

Open data *Machine learning *Web analytics *Social networks and communities
Ботов отличать от людей и правда сложновато. Я и сам толком не могу это сделать. Но зато я придумал неплохой велоси... метод, как отличать в VK «интересных людей» от «не очень интересных». В плане сетевого общения, естественно, а не по жизни.


Читать дальше →
Total votes 45: ↑35 and ↓10 +25
Views 34K
Comments 66

Пережевывая логистическую регрессию

Python *Mathematics *Machine learning *Studying in IT Artificial Intelligence
Tutorial


В этой статье, мы будем разбирать теоретические выкладки преобразования функции линейной регрессии в функцию обратного логит-преобразования (иначе говорят, функцию логистического отклика). Затем, воспользовавшись арсеналом метода максимального правдоподобия, в соответствии с моделью логистической регрессии, выведем функцию потерь Logistic Loss, или другими словами, мы определим функцию, с помощью которой в модели логистической регрессии подбираются параметры вектора весов $\vec{w}$.

План статьи:

  1. Повторим о прямолинейной зависимости между двумя переменными
  2. Выявим необходимость преобразования функции линейной регрессии $ f(w,x_i) = \vec{w}^T \vec{x_i}$ в функцию логистического отклика $\sigma(\vec{w}^T \vec{x_i}) = \frac{1}{1+e^{-\vec{w}^T \vec{x_i}}}$
  3. Проведем преобразования и выведем функцию логистического отклика
  4. Попытаемся понять, чем плох метод наименьших квадратов при подборе параметров $\vec{w}$ функции Logistic Loss
  5. Используем метод максимального правдоподобия для определения функции подбора параметров $\vec{w}$:

    5.1. Случай 1: функция Logistic Loss для объектов с обозначением классов 0 и 1:

    $L_{log}(X,\vec{y},\vec{w}) = \sum\limits_{i=1}^n(-y_i \mkern 2mu log_e \mkern 5mu \sigma(\vec{w}^T \vec{x_i}) - (1-y_i) \mkern 2mu log_e \mkern 5mu (1 - \sigma(\vec{w}^T \vec{x_i})) ) \rightarrow min$



    5.2. Случай 2: функция Logistic Loss для объектов с обозначением классов -1 и +1:

    $L_{log}(X,\vec{y},\vec{w}) = \sum\limits_{i=1}^n \mkern 2mu log_e \mkern 5mu (1+e^{-y_i\vec{w}^T\vec{x_i}}) \rightarrow min$

Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views 33K
Comments 20

Представление объектов для машинного обучения, основанного на теории решеток

Mathematics *Machine learning *

Это четвертая статья из серии работ (ссылки на первую, вторую и третью статьи), посвященных системе машинного обучения, основанного на теории решеток, названной "ВКФ-система". Программа использует алгоритмы, основанные на цепях Маркова, чтобы породить причины целевого свойства путем вычисления случайного подмножества сходств между некоторыми группами обучающих объектов. Эта статья описывает представление объектов через битовые строки, чтобы вычислять сходства посредством побитового умножения соответствующих представлений. Объекты с дискретными признаками требуют некоторой техники из Анализа формальных понятий. Случай объектов с непрерывными признаками использует логистическую регрессию, разделение области изменения на подынтервалы с помощью теории информации и представление, соответствующее выпуклой оболочке сравниваемых интервалов.


got idea!

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 2.2K
Comments 8

Анализ колоса пшеницы методами компьютерного зрения. Определение плоидности

Image processing *Machine learning *Biotechnologies Artificial Intelligence
14-ого августа завершился первый воркшоп Математического центра в Академгородке. Я выступал в роли куратора проекта по анализу колоса пшеницы методами компьютерного зрения. В этой заметке хочу рассказать, что из этого вышло.

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

image
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 3.3K
Comments 0

Как найти и купить дом, если вы Data Scientist

SkillFactory corporate blog Python *Programming *Geoinformation services *Machine learning *
Tutorial
Translation

Атма Мани, переводом статьи которого мы делимся к старту флагманского курса по Data Science, — ведущий инженер по продуктам ArcGIS API для Python в компании Esri. В этом материале он рассказывает, как при помощи ArcGIS и Python создать модель, выводящую короткий список домов в соответствии с потребностями и желаниями покупателя. Ссылку на репозиторий GitHub вы найдёте в конце статьи.

Читать далее
Total votes 10: ↑8 and ↓2 +6
Views 9.4K
Comments 10

Устраняем мультиколлинеарность признаков в ML при помощи графов

Ak Bars Digital corporate blog Python *Machine learning *

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

Признаки — это набор данных, который описывает изучаемое в задаче явление. Не все признаки могут быть полезны, поэтому их отбор является важным этапом моделирования. Есть много причин, по которым включение тех или иных признаков в модель может привести к неудовлетворительным результатам. Одна из них — мультиколлинеарность

Мультиколлинеарность — явление, при котором наблюдается сильная корреляция между признаками. Чтобы оценить степень корреляции между парой количественных признаков, вычисляют, например, коэффициент корреляции Пирсона — меру линейной связи между ними. Если абсолютное значение коэффициента превышает некоторый порог, то можно говорить о наличии сильной корреляции между признаками. На практике пороговое значение зависит от задачи и находится в диапазоне от 0.6 до 1.0. 

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

Читать далее
Total votes 14: ↑14 and ↓0 +14
Views 9.7K
Comments 4

Как с помощью машинного обучения ускорить категоризацию товаров на маркетплейсах и в интернет-магазинах?

Россельхозбанк corporate blog Algorithms *Big Data *Machine learning *Artificial Intelligence

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

Хочу узнать
Total votes 11: ↑10 and ↓1 +9
Views 3.5K
Comments 8

Использование методов А/Б тестирования. Решение практического кейса в Python

Python *Data visualization *Machine learning *
Case
Sandbox

Привет, Хабр! В данной статье будет рассмотрено применение логистической регрессии, причинного случайного леса (Causal Random Forest), метода CUPED для оценки изменения целевой переменной в Python при проведении А/Б тестов. Основное внимание будет уделено практике, теоретические аспекты методов будут упомянуты вскользь.

Условие: есть датасет компании, которая продает на своем сайте билеты на транспорт и которая зарабатывает на наценке. Аналитик проводит АБ-тест: А и Б - разные варианты новой ценовой политики - наценка 4% или 9%.

Вопрос: какую из двух вариантов наценки нужно устанавливать и почему.

Датасет можно скачать здесь. Подробное описание данных лежит здесь

Читать далее
Total votes 7: ↑6 and ↓1 +5
Views 4.6K
Comments 5