| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Метод разделяющих плоскостей |
| Автор: Xonxt 29.3.2009, 22:00 |
| Доброе время суток. Имеется задание на курсовую (и, по совместительству, бакалаврскую) работу - реализация классификации образов методом разделяющих плоскостей. Теорию по методу, в принципе, знаю, читал.. даже делал небольшой доклад в ВУЗе... однако я не смог толком ничего найти по практическим реализациям этого метода. Если ув. посетители форума располагают такой информацией, буду рад Преподаватель сказал, что не нужно использовать нейронные сети, а жаль... Помогите, чем сможете |
| Автор: GoldFinch 30.3.2009, 13:10 |
| интересно как это, без нейросетей есть пространство входных данных, каждая точка в этом пространстве - образ который надо классифицировать разбиваем это пространство N плоскостями на области, каждая такая область соответствует какому-то классу образов принадлежность точки той или иной области определяется тем с какой стороны от каждой плоскости находится точка, если эти стороны закодировать 0 и 1, получится двоичный N-разрядный код, у каждой области свой плоскость в многомерном пространстве задается уравнением вида a1*x1+a2*x2+...am*xm+h = 0 или сумма(ai*xi)+h=0 где xi - координаты точки, ai - коэфициенты поворота плоскости, h - расстояние от плоскости до центра координат чтобы определить с какой стороны от плоскости находится точка Xi, надо вычислить сумму ai*Xi и сравнить ее с порогом h сторона_плоскости = сумма(ai*Xi)>h т.е. подать координаты этой точки на пороговый сумматор, а нейрон с пороговой передаточной функцией и есть пороговый сумматор, и однослойная нейросеть с такими нейронами как раз и решает задачу классификации разбиением пространства входных параметров плоскостями ну а сама по себе реализация такой сети никаких проблем не представляет, хоть в Excel загоняй коэфициенты плоскостей и пороги и там считай другое дело - обучение, но тут все зависит от конкретной задачи - что распознавать |
| Автор: Xonxt 30.3.2009, 16:05 |
| Ну, собственно, ничего нового, GoldFinch, вы мне не рассказали... Меня ж именно интересовала сама реализация.. Как эти коэффициенты a1, a2,...,am находить... |
| Автор: GoldFinch 30.3.2009, 16:29 |
| Xonxt, что распознавать - так и находить, в "общем" такие задачи не решаются |
| Автор: Xonxt 30.3.2009, 22:43 |
| В таком случае, Можно брать http://archive.ics.uci.edu/ml выборку. Например http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data - пример распознавания конкретного типа растения Ириса. Признаков для распознавания - 4. Это высота и ширина чашелистника и высота с шириной лепестка. Классов здесь всего 3. Как в данном примере проводить обучение? Я думал может SVM попробовать, но хочется конкрентый пример алгоритма, а не сухую математику... |