模式識別的幾種基本演算法
本學期選了模式識別的課程,該期末考試了, 將本課程的幾種基本演算法整理一下。
0.最小距離分類判別演算法
(1)定義:是指求出未知類別向量到要識別各類別代表向量中心點的距離,將未知類別向量歸屬於距離最小一類的一種影像分類方法。
(2)用Matlab實現的一個演算法一看就懂了:
clc
clear all
close all
%% 已知樣本特徵向量
%class_w1=[2 2 2 3 3 2.5 1.5 3.5 4 0.5;3 2 4 3 4 3 2 2.5 4 0.5]
%class_w2=[0 -2 -1 1 3 -2 -3 -5 4;2.5 2 -1 -2 0 -2 -4 -2 -1]
class_w1=[2 2 2 3;0 2 4 3]
class_w2=[0 -2 -1 1 3;3 2 -1 -2 -1]
% 在二維平面上繪製兩類點
plot(class_w1(1,:),class_w1(2,:),'r*')
hold on;
plot(class_w2(1,:),class_w2(2,:),'b+')
hold on;
title('蘋果橘子的二維影像')
%找到他們的均值
R_w1 = mean(class_w1')'
R_w2 = mean(class_w2')'
%分別獲取他們的x座標和y座標
R_w1_x=R_w1(1,:)
R_w1_y=R_w1(2,:)
R_w2_x=R_w2(1,:)
R_w2_y=R_w2(2,:)
%求兩點的中點
tall_x=(R_w1_x+R_w2_x)/2
tall_y=(R_w1_y+R_w2_y)/2
%求兩點的斜率
k=(R_w2_y-R_w1_y)/(R_w2_x-R_w1_x);
%求兩點的斜率的負倒數
k=-1*(1/k);
b=tall_y-k*tall_x;
%% 畫分類線 用斜率式求直線
syms x y;
ss=k*x + b-y;
ezplot(ss,[-5,5,-5,5])
axis equal
1.最近鄰演算法
(1)最近鄰演算法:為了判定未知樣本的類別,以全部訓練樣本作為代表點,計算未知樣本與所有訓練樣本的距離,並以最近鄰者的類別作為決策未知樣本類別的唯一依據。
(2)公式表達:對於S類別問題,每類有Ni個樣本,則第i類的識別函式是(i=1,2,…S)
2. KNN演算法
(1)KNN演算法:K-最近鄰演算法是最近鄰演算法的一個延伸。基本思路是:選擇未知樣本一定範圍內確定個數的K個樣本,該K個樣本大多數屬於某一型別,則未知樣本判定為該類 型。
(2)數學表示式:
(3)決策規則:
相關文章
- ESB的幾種模式模式
- 【知識分享】伺服器的防護幾種模式伺服器模式
- 模式識別中的Apriori演算法和FPGrowth演算法模式演算法
- 建立物件的幾種模式物件模式
- Iterator模式的幾種用法模式
- 認識SQL Server2000 幾種恢復模式SQLServer模式
- 幾種常用的排序演算法排序演算法
- redis的幾種型別解析Redis型別
- 常見的幾種設計模式設計模式
- 快速掌握Java幾種排序演算法的區別與排序演算法的應用Java排序演算法
- 【知識分享】高防伺服器的常見幾種防禦模式伺服器模式
- Docker幾種網路模式Docker模式
- 幾種經典的排序演算法排序演算法
- spring注入bean的幾種策略模式SpringBean模式
- Thrift server端的幾種工作模式分析Server模式
- laravel模板中生成URL的幾種模式Laravel模式
- java幾種代理模式的實現方式Java模式
- IP地址標識的幾種意義
- Vim常見模式有幾種?模式
- 簡述幾種常用的排序演算法排序演算法
- 實現單例模式的 9 種方法,你知道幾種?單例模式
- 6種常見的地標識別演算法整理和總結演算法
- Go 語言中常見的幾種反模式Go模式
- 幾種常用設計模式的簡單示例設計模式
- iOS元件化常用的幾種構建模式iOS元件化模式
- 幾種常用程式語言的區別
- Java中型別判斷的幾種方式Java型別
- Python幾種加密演算法Python加密演算法
- 一文搞懂人臉識別技術的三種應用模式模式
- 瞭解模式識別模式
- 單例模式有幾種寫法?單例模式
- 幾種常見的JS遞迴演算法JS遞迴演算法
- 35.幾種常見的排序演算法排序演算法
- 幾種機器學習演算法的偏差以及防範機器學習演算法
- 幾種常見的排序演算法總結排序演算法
- 幾種常見的濾波演算法(轉)演算法
- Redis 的 5 種資料型別的基本使用Redis資料型別
- PHP四種基本排序演算法示例PHP排序演算法