Построить линейную разделяющую функцию для двух классов Класс 1 и Класс 2
.pdf
Зарегистрируйся в 2 клика в Кампус и получи неограниченный доступ к материалам с подпиской Кампус+ 🔥
Построить линейную разделяющую функцию для двух классов Класс 1 и Класс 2. Координаты точек для каждого класса заданы в таблице (по 3 точки в каждом классе). Предварительно представьте 6 точек на плоскости. Когда решение найдено – нарисуйте прямую, разделяющую классы 1 и 2 в соответствии с полученным уравнением.
Вариант Класс 1. Класс 2.
10 <4 , 3>
<5 , 4>
<6 , 3>
<2 , 6>
<1 , 6>
<2 , 7>
Нужно полное решение этой работы?
Решение
Изобразим точки на плоскости:
Рис. SEQ Рис. \* ARABIC 1
Классы 1 и 2 линейно разделимы. Найдём разделяющую линейную функцию и нарисуем ее график.
Алгоритм пересчета коэффициентов.
Цель – получить линейную разделяющую функцию, которая дает положительные значения для точек 1, 2 и 3 и принимает отрицательные значения для точек 4, 5, 6.
Функция должна иметь вид FX=w0+w1x1+w2x2.
Выполняем итерацию 0. Коэффициенты w0=w1=w2=0.
Выполняем итерацию 1. Выбираем первый объект класса С1 – вектор Х1=<4 , 3>. Значение функции FX=0+0⋅4+0⋅3, (ошибка классификации произошла в первой же точке из шести, так как точка <4 , 3> принадлежит классу 1 и функция F<4 , 3> должна дать значение больше нуля, а не нулевое)
. Таким образом, необходима коррекция коэффициентов при значении множителя c=1.
Вычисляем новые коэффициенты функции:
w01=w0+c=0+1=1;
w11=w1+c⋅x1=0+1⋅4=4;
w21=w2+c⋅x2=0+1⋅3=3.
Получаем F1X=1+4x1+3x2.
Выполняем итерацию 2. Вычислим последовательно значения F1X для элементов выборки:
F1<4 , 3>=1+4⋅4+3⋅3=26>0;
F1<5 , 4>=1+4⋅5+3⋅4=33>0;
F1<6 , 3>=1+4⋅6+3⋅3=34>0.
Все элементы класса С1 распознаны правильно. Выбираем текущим класс С2.
F1<2 , 6>=1+4⋅2+3⋅6=27>0. - объект распознан неправильно. Необходима коррекция коэффициентов при значении множителя c=-1.
w02=w01+c=1-1=0;
w12=w11+c⋅x1=4-1⋅2=2;
w22=w21+c⋅x2=3-1⋅6=-3.
Новая функция F2X=2x1-3x2.
Выполняем итерацию 3