Trăn lượng tử hóa vector

Giả sử dữ liệu đầu vào có kích thước [ m, n ] trong đó m là số ví dụ huấn luyện và n là số đối tượng trong mỗi ví dụ và một vectơ nhãn có kích thước [ m, 1 ]. Đầu tiên, nó khởi tạo các trọng số có kích thước [ n, c ] từ c số mẫu huấn luyện đầu tiên có nhãn khác nhau và sẽ bị loại bỏ khỏi tất cả các mẫu huấn luyện. Ở đây, c là số lớp. Sau đó lặp lại dữ liệu đầu vào còn lại, với mỗi ví dụ đào tạo, nó cập nhật vectơ chiến thắng [ vectơ trọng số có khoảng cách ngắn nhất [ e. g Khoảng cách Euclide] từ ví dụ đào tạo].  

Quy tắc cập nhật trọng số được đưa ra bởi

if correctly_classified:
wij[new] = wij[old] + alpha[t] * [xik - wij[old]]
else:
wij[new] = wij[old] - alpha[t] * [xik - wij[old]]

trong đó alpha là tốc độ học tại thời điểm t, j biểu thị vectơ chiến thắng, i biểu thị tính năng thứ i của ví dụ huấn luyện và k biểu thị ví dụ huấn luyện thứ k từ dữ liệu đầu vào. Sau khi đào tạo mạng LVQ, các trọng số được đào tạo được sử dụng để phân loại các ví dụ mới. Một ví dụ mới được gắn nhãn với lớp của vectơ chiến thắng

thuật toán

Bước 1. Khởi tạo các vectơ tham chiếu

từ một tập hợp các vectơ huấn luyện đã cho, lấy số "n" vectơ huấn luyện cụm đầu tiên và sử dụng chúng làm vectơ trọng số,               các vectơ còn lại có thể được sử dụng để huấn luyện

Gán ngẫu nhiên các trọng số và phân loại ban đầu

Bước 2. Tính khoảng cách Euclide cho i=1 đến n và j=1 đến m,

D[j] = ΣΣ [xi-Wij]^2

tìm chỉ số đơn vị chiến thắng j, trong đó D[j] là nhỏ nhất

Bước 3. Cập nhật trọng số trên đơn vị chiến thắng wi sử dụng các điều kiện sau

nếu T = J  thì wi[mới] = wi [cũ] + α[x – wi[cũ]]

nếu T ≠ J  thì wi[mới] = wi [cũ] – α[x – wi[cũ]]

Bước 4. Kiểm tra điều kiện dừng nếu sai lặp lại các bước trên

Dưới đây là việc thực hiện.  

Python3




import math

 

 

class LVQ :

    

    # Function here computes the winning vector

    # by Euclidean distance

    import1 import2import3import4

import5

import5_______1_______7import8 import9

import5_______2_______1import8 import9

import5

import5_______2_______6 math7math8 math9class0class1class2

class3_______1_______7import8 import7_______3_______7 class8class9LVQ :0LVQ :1 LVQ :2import9LVQ :4LVQ :5 LVQ :6

class3_______2_______1import8 math1class7 class8class9LVQ :0LVQ :1 LVQ :2    7LVQ :4LVQ :5 LVQ :6

class3

import5_______5_______3     4

class3_______5_______6 import9

import5_______5_______9 # Function here computes the winning vector0

class3_______5_______6     7

 

    # Function here computes the winning vector5

    import1 # Function here computes the winning vector8import3    0

    1_______5_______3     3_______4_______1_______4_______1     6

class3_______2_______6     9math8 math9class0class1# by Euclidean distance4

# by Euclidean distance5# by Euclidean distance6import8 # by Euclidean distance6class7 import00import01 import02LVQ :1 import04

import5_______5_______9# Function here computes the winning vector0

class3_______2_______6     9math8 math9class0class1# by Euclidean distance4

# by Euclidean distance5# by Euclidean distance6import8 # by Euclidean distance6LVQ :1 import00import01 import02LVQ :1 import04

 

import26

import1 import28

 

    import30

    import32_______1_______8  import34import9import36import9import36    7import36    7 import42    7import36import9import36import9import36_____1_______9 import50

    1_______1_______52import9import36_______1_______9import36import9import36    7 import60import9import36    7import36    7import36_______1_______9 import50

    1_______1_______52    7import36    7import36import9import36import9 import60    7import36    7import36    7import36_______1_______9 import86

 

    import88_______1_______8 import52import9import36    7import36import9import36    7import36    7import36    7 math02

    2_______04_______1_______8 class1math07class1math09import9math11

    

    math14

    math16_______1_______8 math18

    math20_______1_______9 math22

    math20_______1_______9 math22

 

    math28

    math30

    math32_______1_______8 math32LVQ :1 LVQ :5

    math38import9LVQ :6

    math38import9LVQ :6

    

    math47

    math49import8 math51

    math53_______1_______8 math55

    import00_______1_______8 math59

    

    math6     9math8 math9_______2_______66

import5_______2_______6 math69math8 math9math72

class3

class3_______2_______75

class3_______2_______77import8 math79

class3

class3_______2_______82

class3_______2_______84import8 math86

import5

class3_______2_______89

class3_______2_______91

class3

    math94

    math77_______1_______8 import52import9import36import9import36    7import36import9 math02

    math84import8 math86

    3_______12_______3_______13class class15

    class12_______3_______18

    

    3 class21_______1_______8import8 class24

    class26

đầu ra. Mẫu T thuộc về lớp. 0 Trọng lượng được đào tạo. [[0. 3660931, 0. 38165410000000005, 1, 1], [0. 33661, 0. 34390000000000004, 0, 1]]

Chủ Đề