K-Nearest Neighbors algoritmi.
KNN algoritmi o'xshash, bir-biriga yaqin narsalar bir joyda mavjudligini taxmin qiladi.
K - Eng yaqin qo'shnilar (KNN) raqamli tasvirni qayta ishlash, ma'lumotlarni qayta ishlash va mashinalarni o'rganishda qo'llaniladigan ko'plab (nazorat ostidagi o'rganish) algoritmlaridan biridir. Bu klassifikator algoritmi bo'lib, o'rganiladigan ma'lumotlarning (vektor) boshqa ma'lumotlardan "qanchalik o'xshash" ligiga asoslanadi. K-Eng yaqin qo'shnilar statistik baholash va na’munani aniqlashda 1970-yillardan beri foydalanilgan.
K-NN barcha qiymatlarni n o'lchovli fazodagi nuqtalar deb hisoblaydi va qo'shnilarni masofa bo'yicha belgilaydi. K-NN algoritmi noma'lum ma'lumotlar nuqtalarini k-eng yaqin misollar orasida eng keng tarqalgan sinfni topib tasniflaydi. K-NN qaror chegarasini mahalliy darajada belgilaydi. Bu har bir tasvir pikselini eng yaqin qo'shnilarining ko'pchilik sinfiga belgilash orqali amalga oshiriladi, bu erda k parametrdir. K-NNdagi 'K' tasniflash uchun hisobga olinadigan tasvir piksellarining minimal masofalarini bildiradi. K-NN algoritmi, shuningdek, turli tartiblardagi turli mutaxassislar orasida misolga asoslangan o'rganish(example-based learning), xotiraga asoslangan o'rganish (memory-based learning), na’munaga asoslangan o'rganish (instance-based learning), dangasa o'rganish (lazy learning) va boshqalar deb ham ataladi.
Laboratoriya ishini bajarish davomida biz tasvir ma’lumotlarini KNN algoritmi asosida tasniflash jarayonini modellashtiramiz.
2. Laboratoriya ishini bajarish tartibi
Laboratoriya ishini bajarish uchun, tasvirni KNN algoritmi asosida tasniflashda bizga tasvir ma’lumoti kerak bo’ladi. Bunda talabalar Paint dasturi yordamida Variant bo’yicha berilgan shkllar va ranglardan foydalanib tasvir hosil qilishadi.
Paint dasturida hosil qilingan tasvir .jpg (masalan: uchburchak.jpg) formatida Matlab quyidagi havolaga “C:\Users\user\AppData\Roaming\MathWorks\MATLAB Add-Ons\Collections\Color Detection Using HSV Color Space (Training and Testing)” yuklanadi .
KNN algoritmi bo’yicha obyekt tasvirini tanishning dasturiy modeli MatLab dasturida quyidagicha modellashtiriladi:
A = imread('uchburchak.jpg');
imshow(A)
[b, c, d] = size(A);
classes = {'qizil', 'sariq', 'ko`k', 'yashil', 'orqafon'};
num_class = length(classes);
f = figure;
training = false(b, c, num_class);
for i = 1:num_class
set(f, 'name',[classes{i} ' rangni hududini tanlang']);
training(:, :, i) = roipoly(A);
end
close(f)
for i = 1:num_class
figure
imshow(training(:, :, i));
title([classes{i} ' rang tanlangan hudud' ]);
end
cform = makecform('srgb2lab');
lab_x=applycform(A, cform);
figure;
imshow(lab_x);
Do'stlaringiz bilan baham: |