Pull to refresh

Классификация данных методом опорных векторов

Reading time 4 min
Views 135K
Data Mining *
Sandbox
Добрый день!

В данной статье я хочу рассказать о проблеме классификации данных методом опорных векторов (Support Vector Machine, SVM). Такая классификация имеет довольно широкое применение: от распознавания образов или создания спам-фильтров до вычисления распределения горячих аллюминиевых частиц в ракетных выхлопах.

Сначала несколько слов об исходной задаче. Задача классификации состоит в определении к какому классу из, как минимум, двух изначально известных относится данный объект. Обычно таким объектом является вектор в n-мерном вещественном пространстве . Координаты вектора описывают отдельные аттрибуты объекта. Например, цвет c, заданный в модели RGB, является вектором в трехмерном пространстве: c=(red, green, blue).

Читать дальше →
Total votes 82: ↑78 and ↓4 +74
Comments 27

Licenzero: простые движения

Reading time 6 min
Views 7.1K
Data Mining *
Двустороннее движениеЭтим постом мы продолжаем цикл статей о том, как мы делали порнофильтр. Сейчас речь пойдет о попытке классифицировать порнографический контент по характерным движениям в кадре.

Началось это все как просто шутка из разговора. Ведь классифицировать порнографические движения довольно непросто — они слишком разные, чтобы найти в них что-то общее. Но мы попробовали, результат нас вполне устроил, и детектор движения занял свое место в общем классификаторе порнографического видеоконтента.
Читать дальше →
Total votes 80: ↑73 and ↓7 +66
Comments 38

Классификация документов методом опорных векторов

Reading time 5 min
Views 18K
Data Mining *
Sandbox
Потребовалось мне года три назад сделать классификатор текстов. В этой статье я расскажу о том как это заработало и вообще некоторые аспекты реализации и тестирования таких алгоритмов.

Классификация


Классификация, согласно википедии, это одна из задач информационного поиска, заключающаяся в отнесении документа к одной из нескольких категорий на основании содержания документа.
Этим мы и будем заниматься.
Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Comments 20

Метод опорных векторов для нахождения полиморфизмов в геноме

Reading time 4 min
Views 9.5K
Data Mining *Algorithms *
Sandbox
Статья 2013-ого года «A support vector machine for identification of single-nucleotide polymorphisms from next-generation sequencing data» (O'Fallon, Wooderchak-Donahue, Crockett) предлагает новый метод определения полиформизмов в геноме на основе применения метода опорных векторов (SVM). Хотя ранее в статье 2011-ого года «A framework for variation discovery and genotyping using next-generation DNA sequencing data» уже описывалось применение методов машинного обучения для определения однонуклеотидных полиморфизмов (SNP-ов, снипов), подход, основанный на использовании SVM, описан впервые в данной статье.

Определение полиморфизмов в геноме является важной (например, для полногеномного поиска ассоциаций aka GWAS), но нетривиальной задачей. Приходится учитывать, что многие организмы гетерозиготны, а также, что данные могут содержать ошибочную информацию.
Читать дальше →
Total votes 37: ↑32 and ↓5 +27
Comments 9

Уменьшение размерности в задаче линейной бинарной классификации(e.g. SVM)

Reading time 4 min
Views 10K
Data Mining *Algorithms *Mathematics *
Требуемые знания: знакомство с методами линейной бинарной классификации (e.g. SVM (см. SVM Tutorial)), линейная алгебра, линейное программирование

Рассмотрим линейную задачу бинарной классификации (если задача линейно неразделима, её можно свести к таковой с помощью симметричного интегрального L-2 ядра(см. SVM)). imageПри решении такой задачи классифицируемые элементы (далее образцы) представляются в виде элементов векторного пространства размерности n. На практике в таких задачах n может быть чрезвычайно большим, например для задачи классификации генов оно может исчисляться десятками тысяч. Большая размерность влечёт, по-мимо высокого времени вычисления, потенциально высокую погрешность численных рассчётов. Кроме того использование большой размерности может требовать больших финансовых затрат (на проведение опытов). Постановка вопроса такова: можно ли и как уменьшить n отбрасыванием незначимых компонент образцов так, чтобы образцы разделялись «не хуже» в новом пространстве (оставались линейно разделимы) или «не сильно хуже».

В своей статье я хочу для начала провести краткий обзор метода из этой статьи Gene_Selection_for_Cancer_Classification_using, после чего предложить свой метод.
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Comments 7

Machine learning в простом проекте

Reading time 8 min
Views 39K
Preply corporate blog Programming *
Я CTO проекта Preply и хочу рассказать немного о том, о чем мечтает каждый программист, а именно о сложных и интересных задачах в простых проектах.

Если быть точнее, то о том, как можно добавить немного науки к бизнесу и получить в результате немного пользы. Этой статьей я постараюсь описать один из контекстов использования Machine Learning в реальном проекте.
Читать дальше →
Total votes 63: ↑53 and ↓10 +43
Comments 43

Клиническая обработка сигналов речи и машинное обучение. Часть 1

Reading time 6 min
Views 7.3K
Algorithms *
Sandbox

Из выступления Max Little (основателя PVI) на конференции TED в 2012 году.

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

В данной статье будет рассказано о проекте Parkinson Voice Initiative, посвященному ранней диагностике Болезни Паркинсона по голосу (успешность распознавания составляет 98,6± 2.1% за 30 секунд по телефонному разговору).

Будет произведено сравнение точности используемых в нем алгоритмов выбора особенностей (ВО) – Feature Selection Algorithm – LASSO, mRMR, RELIEF, LLBFS.

Битва между Random Forest (RF) и Supported Vector Machine (SVM) за звание лучшего анализатора в данного рода приложениях.

Начало


Читая статьи по синтезу и распознаванию речи, нашел упоминание о том, что при болезни изменяется голос. Проверив очевидность факта, что я не первый догадался использовать распознавание речи для диагностики болезней (первые клиницисты определили некоторые features — особенности еще в 40-х годах прошлого века, записывая на магнитофонную ленту, а потом вручную анализируя), пошел по ссылкам Гугла. Одна из первых указывала на проект PVI.


Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 2

Распознавание физической активности пользователей с примерами на R

Reading time 8 min
Views 8.8K
R *Machine learning *
Tutorial
Задача распознавания физической активности пользователей (Human activity Recognition или HAR) попадалась мне раньше только в качестве учебных заданий. Открыв для себя возможности Caret R Package, удобной обертки для более 100 алгоритмов машинного обучения, я решил попробовать его и для HAR. В UCI Machine Learning Repository есть несколько наборов данных для таких экспериментов. Так как тема с гантелями для меня не очень близка, я выбрал распознавание активности пользователей смартфонов.
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 12

Новость позвала в дорогу: сверхбыстрый энергоэффективный оптический сопроцессор для больших данных

Reading time 4 min
Views 11K
Data Mining *Algorithms *Image processing *Big Data *Machine learning *


На прошлой неделе Phys.org разразился новостью: стартап LightOn предложил альтернативу центральным процессорам (CPU) и графическим процессорам (GPU) для решения задач анализа больших данных. Авторский коллектив базируется в университете Пьера и Марии Кюри, Сорбонне и всех прочих правильных местах во Франции. Решение основано на оптической аналоговой обработке данных «со скоростью света». Звучит интересно. Поскольку в пресс-релизе не было никаких научно-технических подробностей, пришлось поискать информацию в патентных базах данных и на сайтах университетов. Результаты расследования под катом.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Comments 14

Про волнения в головах

Reading time 13 min
Views 23K
Website development *Algorithms *Machine learning *
Tutorial

Пару месяцев назад мне захотелось поэкспериментировать с нейроинтерфейсом. Никогда этой темой не занимался, но вдруг стало любопытно. Вроде как лет 5-10 назад обещали бум нейроустройств, а всё что мы сейчас имеем на рынке — устройство чтобы махать ушами, устройство чтобы светить камешком, да устройство чтобы левитировать шаром. Где-то на подходе устройство чтобы будить вовремя. Вот тут есть неплохая статья про всё это дело. В то же время регулярно появляются какие-то исследования, где рассказывают, что люди могут научиться двигать роботическими руками-ногами или писать тексты (1, 2, 3, вот тут есть подборка). Но это всё опытное, в единственном экземпляре, со стоимостью аппаратуры как хорошее авто.

А где что-то посередине? Что-то полезное обычному пользователю? Пусть даже не везде, а в каких-то отдельных применениях. Ведь даже навскидку придумывается несколько вещей: детектор засыпания для водителя, повышение работоспособности (например через выбор музыки, или управление перерывами!). Можно выбрать что-то более специфическое. Например смотреть и анализировать своё состояние в киберспорте. Для этого же даже трекеры зрачков выпускают и используют. Почему нет таких применений? Этот вопрос мучил меня. В итоге решил почитать куда наука движется, а так же купить простенькую нейрогарнитуру и затестить. В статье — попытка разобраться в теме, немного исходников и много анализа текущих достижений потребительской электроники.
Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Comments 9

NetApp ONTAP: SnapMirror for SVM

Reading time 7 min
Views 6.2K
Cloud computing *SAN *
Начиная с версии 8.3.1 в софте (прошивке) Data ONTAP был презентован новый функционал под названием SnapMirror for SVM. SnapMirror for SVM это возможность отреплицировать все данные на СХД и все настройки или только часть данных или настроек на запасную площадку (Disaster Recovery).

Чтобы мочь запустить все ваши сервисы на резервной системе, логично чтобы основная и запасная системы были более-менее одинаковые по производительности. Если же на резервной площадке система слабее, стоит заранее задаться вопросом, какие самые критичные сервисы необходимо будет запустить, а какие остануться не запущены. Можно реплицировать как весь SVM со всеми его вольюмами, так и исключить из реплики часть вольюмов и сетевых интерфейсов (начиная с ONTAP 9).

Существует два режима работы SnapMirror for SVM: Identity Preserve и Identity Discard.

Реплицировать данные
Total votes 11: ↑10 and ↓1 +9
Comments 19

SDS от NetApp: ONTAP Select

Reading time 6 min
Views 7K
SAN *
ONTAP Select это логическое развитие линейки Data ONTAP-v, т.е. Software Defined Storage. Софт ONTAP (Операционную систему или прошивку по-народному, если хотите) можно использовать на специализированной аппаратной плтформе FAS или в виде виртуальной машины: в публичных облаках или на комодити оборудовании.
Два последних варината называют ONTAP for Cloud и ONTAP Select соответственно.

Как и предшественник ONTAP Select, этот продукт, который живёт в виде виртуальной машины и полностью опирается на традиционный RAID контроллер, установленный в вашем сервере. Поддерживаются NAS (CIFS, NFS) и IP SAN (iSCSI) протоколы и отсутствует поддержка FCP. В документах NetApp можно встретить внутренее название ONTAP Select — sDOT, это одно и тоже.

Из ожидаемых новшеств:
  • Поддержка High Avalability
  • Поддержка кластеризации до 4 нод
  • Максимальный полезный объем 400 ТБ (по 100ТБ на ноду в 4х нодовом кластере)

На ряду с High Availability и кластеризацией по-прежнему поддерживаются однонодовые конфигурации.

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

Текстонезависимая идентификация по голосу

Reading time 18 min
Views 15K
Programming *Algorithms *Machine learning *
Sandbox

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


Однако, я не умею строить летающие тарелки или синтезировать вирусы, а потому речь пойдет про терминаторов, а точнее о том как этим трудягам помочь отыскать Джона Коннора.


image


Мой рукодельный терминатор будет несколько упрощён — он не сможет ходить, стрелять, говорить "I'll be back". Единственное на что он будет способен — распознать голос Коннора, ежели он его услышит (ну или, например, Черчилля, если его тоже надо будет найти).

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

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

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


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

СХД NetApp — преемственность поколений, проблемы и способы их решения

Reading time 6 min
Views 8.7K
IT Infrastructure *Server optimization *Network technologies *Server Administration *Data recovery *
Sandbox

Кому интересна эта статья


К написанию настоящей статьи меня подтолкнул кейс, случившийся c одной уважаемой компанией, которая давно и успешно эксплуатирует решения NetApp для хранения данных. Управление данными средствами NetApp происходит в международном масштабе, в том числе и в России. Российское представительство имеет территориально распределённую офисную структуру и часть локальных ИТ-сервисов вынесена в регионы: локации разбросаны от штаб-квартиры в Москве до северных регионов, где бродят белые медведи, а интернет доступен только по узким спутниковым каналам связи.

Статья будет интересна тем, кто:
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 12

[Javawatch Live] История одного pull request. `os.version` в SubstrateVM

Reading time 12 min
Views 4.9K
JUG Ru Group corporate blog Programming *Java *System Programming *Compilers *
Прошел год с тех пор, как удалась предыдущая выходка: опубликовать вместо поста ролик на YouTube. «Стыдный разговор о синглтонах» набрал 7к просмотров на YouTube и вдвое больше на самом Хабре в текстовой версии. Для статьи, написанной в совершенно упоротом состоянии и рассказывающей о древнейшем баяне — это что-то вроде успеха.

Сегодня я всю ночь монтировал новый выпуск. На этот раз тема куда более свежая: история коммита в экспериментальную технологию — SubstrateVM. А вот градус упоротости поднялся на новый уровень.



Очень жду ваших комментариев! Напоминаю, что если вы хотите действительно что-то улучшить в этом посте, то лучше всего зафайлить ишшую на Github. Хотел бы сказать «ставьте лайки и подписывайтесь на новый канал, но ведь все его выпуски и так будут у вас в хабе Java?

Технически: в видео есть одна склейка ближе к концу. Просто я писал несжатое видео, и мой m2 ssd размером всего в пятьсот гигабайт быстро переполнился. А ни один другой жесткий диск не смог выдержать такого напора данных. Поэтому пришлось отключиться на полчаса и изголившись найти дополнительные пятьдесят гигов на запись последних нескольких минут. Это было достигнуто удалением файлов собранного GoogleChrome. Мнение о записывающем софте отписал в ФБ прямо в момент записи, там очень много боли.

Ещё из технически интересного: YouTube почему-то заблокировало мне live streaming. При этом на аккаунте нет ни единого страйка и клейма. Будем надеяться, что это просто косяк, и через 90 дней всё вернут назад.
Текстовая расшифровка хаброкаста
Total votes 50: ↑46 and ↓4 +42
Comments 5

Общие принципы работы QEMU-KVM

Reading time 3 min
Views 66K
*nix *Virtualization *Computer hardware
image

Мое текущее понимание:

1) KVM


KVM (Kernel-based Virtual Machine) – гипервизор (VMM – Virtual Machine Manager), работающий в виде модуля на ОС Linux. Гипервизор нужен для того, чтобы запускать некий софт в несуществующей (виртуальной) среде и при этом, скрывать от этого софта реальное физическое железо, на котором этот софт работает. Гипервизор работает в роли «прокладки» между физическим железом (хостом) и виртуальной ОС (гостем).

Поскольку KVM является стандартным модулем ядра Linux, он получает от ядра все положенные ништяки (работа с памятью, планировщик и пр.). А соответственно, в конечном итоге, все эти преимущества достаются и гостям (т.к. гости работают на гипервизоре, которые работает на/в ядре ОС Linux).

KVM очень быстрый, но его самого по себе недостаточно для запуска виртуальной ОС, т.к. для этого нужна эмуляция I/O. Для I/O (процессор, диски, сеть, видео, PCI, USB, серийные порты и т.д.) KVM использует QEMU.
Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Comments 8

SVM. Подробный разбор метода опорных векторов, реализация на python

Reading time 15 min
Views 94K
Open Data Science corporate blog Python *Data Mining *Algorithms *Machine learning *

Привет всем, кто выбрал путь ML-самурая!


Введение:


В данной статье рассмотрим метод опорных векторов (англ. SVM, Support Vector Machine) для задачи классификации. Будет представлена основная идея алгоритма, вывод настройки его весов и разобрана простая реализация своими руками. На примере датасета $Iris$ будет продемонстрирована работа написанного алгоритма с линейно разделимыми/неразделимыми данными в пространстве $R^2$ и визуализация обучения/прогноза. Дополнительно будут озвучены плюсы и минусы алгоритма, его модификации.


image
Рисунок 1. Фото цветка ириса из открытых источников

Читать дальше →
Total votes 52: ↑51 and ↓1 +50
Comments 5

Машина опорных векторов в 30 строчек

Reading time 12 min
Views 7.2K
Python *Mathematics *Machine learning *Studying in IT
Tutorial
В этой статье я расскажу как написать свою очень простую машину опорных векторов без scikit-learn или других библиотек с готовой реализацией всего в 30 строчек на Python. Если вам хотелось разобраться в алгоритме SMO, но он показался слишком сложным, то эта статья может быть вам полезна.
Поехали!
Total votes 15: ↑15 and ↓0 +15
Comments 9

Методы для обнаружения и диагностика неисправностей применительно IoT

Reading time 14 min
Views 3.5K
OTUS corporate blog Algorithms *Machine learning *Artificial Intelligence

Вследствие увеличения сложности систем и необходимости уменьшения затрат на их поддержание традиционные методы ОДН (обнаружение и диагностика неисправностей) не справляются со своей задачей. С другой стороны, эксперты в этой области не сильно доверяют методам, основанным на машинном обучении и глубоком обучении, или, говоря по-другому — методам BlackBox. В свою очередь, при GreyBox методах возможно вводить знание эксперта в систему и более или менее объяснять, как были получены результаты. В связи с этим в статье мы рассмотрим методы ОДН и примеры их применения в IoT системах.

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