Comments 36
Заинтересованный читатель найдет и множество других алгоритмов обнаружения аномалий...Но я так и не нашёл ответа в статье — как по-научному называется заинтересованный человек, ищущий аномалии в выборке данных? Хотя статья — об этом.
Такого человека можно просто назвать исследователем данных. А самый простой способ и наверно часто применяющийся — предположить, что распределение данных нормальное и поставить порог на отклонение от среднего — обозвать выбросом, например, все что лежит вне шара радиуса 2.5 std от центра. Также можно поставить порог на вероятность появление такого редкого объекта — про это Andrew Ng рассказывает в его известном курсе машинного обучения на Coursera. Примерно то же делает метод covariance estimator, который на Scikit-learn сравнивается с One-class SVM. Разновидности covariance estimator рассматриваются в еще одном примере Scikit-learn. И как всегда Википедия подскажет еще немало методов — адапатации нейронных сетей, ансамблей, kNN, ассоциативных правил и алгоритмов кластеризации под эту задачу.
Предлагаю размять мозг и подумать, что еще интересного можно вытащить из этого сета. До меня «первопроходец» BubaVV строил регрессию вида lm(Weight ~ Bust + Waist + Hips + Height), но так же можно предсказывать и рост от других параметров и не только линейной регрессией.
Можно добавлять признаки (см. введение в Feature Engineering на Хабре), например индекс массы тела MI = 10^4 * Weight / Height^2. Поможет ли, подскажет кросс-валидация моделей.
По картинке видно, что кластеры не выделяются, а жаль.
Можно еще ассоциативные правила строить вида «Bust > 90 and Height > 170 => Weight > 62». У деревьев решений на выходе примерно то же.
Что-нибудь еще?
Можно добавлять признаки (см. введение в Feature Engineering на Хабре), например индекс массы тела MI = 10^4 * Weight / Height^2. Поможет ли, подскажет кросс-валидация моделей.
По картинке видно, что кластеры не выделяются, а жаль.
Можно еще ассоциативные правила строить вида «Bust > 90 and Height > 170 => Weight > 62». У деревьев решений на выходе примерно то же.
Что-нибудь еще?
Вижу два направления развития.
1. Добавить много-много параметров моделей и выбрать из них самые информативные. Выбирать можно генетическим алгоритмом, он тут бодро справляется
2. Добавить немного параметров и пробовать строить зависимость очень нелинейного вида. Например, из зависимость вида W=Bust*Height, W=Bust+Height и W=Bust+(Height*Hips) выбрать самую правильную. Зависимости генерировать в виде «программы» для маленькой стек-машины
1. Добавить много-много параметров моделей и выбрать из них самые информативные. Выбирать можно генетическим алгоритмом, он тут бодро справляется
2. Добавить немного параметров и пробовать строить зависимость очень нелинейного вида. Например, из зависимость вида W=Bust*Height, W=Bust+Height и W=Bust+(Height*Hips) выбрать самую правильную. Зависимости генерировать в виде «программы» для маленькой стек-машины
1. Добавить — в смысле породить из имеющихся? Тут можно тогда feature importance считать, например, с помощью прироста информации.
2. Вручную перебирать или автоматически генерить такие комбинации признаков — вряд ли перспективно, хотя точно не знаю. Просто SVM и нейронные сети как раз это и делают — строят очень сложную нелинейную функцию от входных признаков. А нужная комбинация найдется в процессе оптимизации.
2. Вручную перебирать или автоматически генерить такие комбинации признаков — вряд ли перспективно, хотя точно не знаю. Просто SVM и нейронные сети как раз это и делают — строят очень сложную нелинейную функцию от входных признаков. А нужная комбинация найдется в процессе оптимизации.
UFO just landed and posted this here
девиантофил? )
Зашел только для того, чтобы посмотреть фото.
Пользователям любой ОС можно не мучаться с установкой библиотек и воспользоваться anaconda
Я зашел, чтобы увидеть сиськи. Вы меня разочаровали, автор. :(
Теперь ждем статью-туториал про анализ видео и алгоритмы рекомендаций!
Самое гнусное в оном жанре — когда модель пырится смотрит прямо в камеру. Как учебная задача для распознавания лиц — самое оно, как мне кажется
Но сначала придется разметить тестовую базу. Самая неприятная часть в любой задаче машинного обучения!
Взаимное расположение овала лица и глаз. Я абсолютно не в теме, но думал что оно сразу заведется в хоть каком-то виде. А тестовую выборку придется спарсить с какого-нибудь сайта
Похоже на то, что вы действительно не в теме.
Задача распознавания — это задача обучения с учителем (в отличие от темы этой статьи). Можно налабать какой угодно алгоритм на коленке, пафосно назвать его машинным обучением, и убеждать всех, что оно «завелось сразу в каком-то виде».
Но пока вы не измерили точность его работы, это — пффф — никому не интересный кода кусок, вроде сносно работающий на трех конкретных фоточках. А чтобы узнать точность, нужно каким-то более достоверным способом (часто — просто вручную), разметить достаточно большую и разнообразную тестовую базу распознаваемых объектов. А затем сравнивая достоверную разметку с ответом алгоритма судить о точности последнего.
Задача распознавания — это задача обучения с учителем (в отличие от темы этой статьи). Можно налабать какой угодно алгоритм на коленке, пафосно назвать его машинным обучением, и убеждать всех, что оно «завелось сразу в каком-то виде».
Но пока вы не измерили точность его работы, это — пффф — никому не интересный кода кусок, вроде сносно работающий на трех конкретных фоточках. А чтобы узнать точность, нужно каким-то более достоверным способом (часто — просто вручную), разметить достаточно большую и разнообразную тестовую базу распознаваемых объектов. А затем сравнивая достоверную разметку с ответом алгоритма судить о точности последнего.
Все верно, только тут стоит отметить, что мы живем уже в мире таких объемов данных, пометить которые бывает нереально или очень дорого. Поэтому современные алгоритмы Semi-supervised learning и deep learning адаптируются для работы с частично или слабо помеченными данными.
Спасибо, почитал.
Если нет, пользователи Windows могут порадоваться и элементарно установить прекомпилированные библиотеки отсюда.
Ну а пользователям никсов и маков (как и автору) придется чуть-чуть помучаться, но статья не об этом.
Вы всё перепутали.
Всегда считал, что главное — не конкретные размеры, а их соотношения с другими чертами, наличие некоторой симметрии.
Другими словами, если в музыке, все строится вокруг резонансов, отсюда и идет в конечном счете размер октавы и понятие «тон, полутон», и уже существуют программные «композиторы»,
То было бы интересно увидеть программный алгоритм определения «симпатичный/не симпатичный», возможно даже генерация лиц.
Другими словами, если в музыке, все строится вокруг резонансов, отсюда и идет в конечном счете размер октавы и понятие «тон, полутон», и уже существуют программные «композиторы»,
То было бы интересно увидеть программный алгоритм определения «симпатичный/не симпатичный», возможно даже генерация лиц.
18+
Точно надо?
Я вам про алгоритмы и духовность, а вы…
Например в макияже (или пластической хирургии), было бы интересно создать алгоритм, когда вносишь отдельные параметры, а софт просчитывает остальные для создания «идеального лица». Или такое уже есть?
Блин, это же идея для стартапа в каком-нить фейсбуке/vk. И возможность отправить скриншот подруге.
Например в макияже (или пластической хирургии), было бы интересно создать алгоритм, когда вносишь отдельные параметры, а софт просчитывает остальные для создания «идеального лица». Или такое уже есть?
Блин, это же идея для стартапа в каком-нить фейсбуке/vk. И возможность отправить скриншот подруге.
Распределения странные. Например, рост. Видны провалы. на 160++ и на 170++. Почему? Дюймы перевели в см и уже потом сантиметры разбили на интервалы для гистограммы. Пожалуй, плохая идея была.
По сути преобразование из дюймов в сантиметры — линейное, и ничего не должно было кардинально поменяться. Где было 25 дюймов, стало 64 см, если правильно округлять (так то 63.5, и если над данными работают разные люди, то кто-то мог взять и «округлить» до 63).
Причина «провалов» таится, во-первых, в округлении, а во-вторых, в слишком подробных гистограммах.
Если посмотреть на изначальные данные в дюймах, то получится вот что:
Как видно, дробные значения люди указывают намного реже. Это известный прикол в статистических исследованиях. Демографы всегда делают поправки на округление данных.
Ну и если рисовать слишком подробные гистограммы, то конечно, они получаются более рваные.
Причина «провалов» таится, во-первых, в округлении, а во-вторых, в слишком подробных гистограммах.
Если посмотреть на изначальные данные в дюймах, то получится вот что:
table(height$V1)
59 60 60.5 61 62 62.5 63 63.5 64 64.5 65 65.5 66 66.5 67 67.5 68 68.5 69 69.5 70
2 4 1 5 29 4 38 1 54 13 85 20 86 5 99 10 78 19 31 5 18
70.5 71 72 73 74
1 9 1 1 1
Как видно, дробные значения люди указывают намного реже. Это известный прикол в статистических исследованиях. Демографы всегда делают поправки на округление данных.
Ну и если рисовать слишком подробные гистограммы, то конечно, они получаются более рваные.
hist(height$V1, breaks= 20, col="Green", xlab = "Height in inches", main = "Height")
> hist(height$V1, breaks= 100, col="Red", xlab = "Height in inches", main = "Height")
Простите, не удержался.
Жду обзор, по девушкам из интимного жанра)
Очень заинтересовали тройняшки, глянул фото, оказались все силиконовые, облом :(
Sign up to leave a comment.
Необычные модели Playboy, или про обнаружение выбросов в данных c помощью Scikit-learn