Pull to refresh

Comments 21

не минусуйте меня, это мой первый пост на Хабре)
Я знаком с такими алгоритмами (в теории), поэтому представляю их область применения, но всё же приведите пример использования в начале статьи, чтобы хоть было понятно, что Вы объясняете.
Моей целью было объяснение именно самого алгоритма, основываясь на программе, которую я написал, чтобы объяснить эту методику объединения слабых классификаторов в более сильный. О самом же применении раньше рассказывал Indalo. На самом деле эта статья должна быть продолжена рассказом о том случае, когда сложный классификатор берется как квадратичная функция слабых, а не линейная как это принято, что не есть таким известным фактом.
где ты был год назад? Мне как раз нужна была такая лабораторная работа. Пришлось писать самому
Хорошая статья. Переноси в публичный блог. :) В «Алгоритмы» например.
Не могу сказать, что статья удалась. Для интуитивного подхода я бы: добавил картинок, убрал формулы, не писал бы сорс в статье, рассказал о ensemble, weak/strong learner и начал с Маркиза де Кондорсе

К чему я это? К тому, что те кто «не в курсе» мало что узнали, так как материал подан далеко не с нуля и скорее всего не осел и не усвоился. Те кто знает о чём речь ничего нового не узнали. Получилось много Вики и мало Хабры. Выиграли те, кому не придётся теперь писать лабораторку самому…
К сожалению Вы правы… обещаю исправиться в следующей статье.
Могу подкинуть свои универские слайды (на английском) по теме.
Да, спасибо! Киньте на почту! Возможно там есть что-то интересное о случае больше двух классов? Вы знакомы с работой, о которой я упоминал в статье? А именно, portal.acm.org/citation.cfm?id=1285185. Хочу о ней рассказать в следующей статье…
Вообще-то моей темой тогда были имплементация и тестирование мультикласовой версии, а квадратичными наработками я не знаком.

Слайды я предложил для расширения ваших знаний, а как источник картинок к этой статье — там как раз вводная по бусту есть с классическим примером слабого линейного классификатора :)
Блин, slf-fix:
НЕ для расширения ваших знаний. Они на более низком уровне…
Извините, не понял Ваш последний комментарий…
з.ы. Жду слайди. :)
В принципе, классификатор по ближайшему соседу в 2D можно реализовать достаточно эффективно. O(n log n) препроцессинг, O(log n) на запрос, где n — количество изначально классифицированных точек.
И решается єто с помощью kd-tree :)
В kd-дереве O(log n) будет в среднем случае, с помощью диаграммы Вороного можно добиться и worst-case O(log n). С другой стороны, kd проще пишется и неплохо раширяется на большие размерности
Автор молодец, действительно научные статьи публикуют редко, а эту можно применять для взлома капчи на хабре для действительно полезных приложений, например графики.

Хочу добавить к winger:
Поиск ближайшей точки реализуется через триангуляцию Делоне/диаграммы Вороного. Предмет очень хорошо изучен, особенно для двумерного случая и работает довольно быстро на персональном компьютере. Adaboosting ещё быстрее, и предназначен не столько для повседневного использования, сколько для встроенных систем, наподобие автопилота для самодельного летающего робота.
* про взлом капчи было в strike теге. Юзернейм, объясни, почему парсер мне не поверил, ну пожалуйста.
При отрицательной карме теги не работают
Чтобы уметь быстро отвечать на запросы, нужно на диаграмму Вороного сверху навесить какую-нибудь point-location структуру, типа уточнения триангуляции или метода трапециоидов.Алгоритм получается монструозный и скорее всего внутри O()шек прячутся большие константы, зато качество классификации в общем случае должно получиться лучше
Некропост:

Если возможно, обновите картинки и перезалейте код на github.
Only those users with full accounts are able to leave comments. Log in, please.