15
K-Nearest Neighbour Algorithm

K-Nearest

Embed Size (px)

Citation preview

Page 1: K-Nearest

K-Nearest Neighbour Algorithm

Page 2: K-Nearest

Introduction

K-Nearest Neighbour คื�อ วิ�ธี�การในการจั�ดแบ่�งคืลาส เทคืน�คืน��จัะตั�ดส�นใจั วิ�าคืลาสใดท��จัะแทนเง��อนไขหร�อ

กรณี�ใหม่�ๆ ได#บ่#าง โดยการตัรวิจัสอบ่จั&านวินบ่างจั&านวิน (“K” ใน K-nearest neighbor) ของกรณี�หร�อเง��อนไข

ท��เหม่�อนก�นหร�อใกล#เคื�ยงก�นม่ากท��ส'ด โดยจัะหาผลรวิม่ (Count Up)ของจั&านวินเง��อนไข หร�อกรณี�ตั�างๆส&าหร�บ่แตั�ละคืลาส และก&าหนดเง��อนไขใหม่�ๆ ให#คืลาสท��เหม่�อนก�น

ก�บ่คืลาสท��ใกล#เคื�ยงก�นม่ากท��ส'ด

Page 3: K-Nearest

ในการน&าเทคืน�คืของ  K-NN ไปใช้#ในน��นเป+นการหาวิ�ธี�การวิ�ดระยะห�างระหวิ�างแตั�ละAttributeในข#อม่,ลให#ได# และจัากน��นคื&านวิณีคื�าออกม่า ซึ่.�งวิ�ธี�น��จัะเหม่าะส&าหร�บ่ข#อม่,ลแบ่บ่ตั�วิเลข แตั�ตั�วิแปรท��เป+นคื�าแบ่บ่ไม่�ตั�อเน��องน��นก/สาม่ารถท&าได# เพี�ยงแตั�ตั#องการการจั�ดการแบ่บ่พี�เศษเพี��ม่ข.�น อย�างเช้�น ถ#าเป+นเร��อง

ของส� เราจัะใช้#อะไรวิ�ดคืวิาม่แตักตั�างระหวิ�างส�น&�าเง�นก�บ่ส�เข�ยวิ ตั�อจัากน��นเราตั#องม่�วิ�ธี�ในการรวิม่คื�าระยะห�างของ Attribute

ท'กคื�าท��วิ�ดม่าได# เม่��อเราสาม่ารถคื&านวิณีระยะห�างระหวิ�างเง��อนไขหร�อกรณี�ตั�างๆ ได#จัากน��นเราเล�อกช้'ดของเง��อนไข ท��ใช้#จั�ดคืลาสม่าเป+นฐานส&าหร�บ่การจั�ดคืลาสในเง��อนไขใหม่�ๆ ได#แล#วิเราจัะตั�ดส�นได#วิ�าขอบ่เขตัของจั'ดข#างเคื�ยงท��คืวิรเป+นน��น คืวิรม่�ขนาดใหญ่�เท�าไร และอาจัตั�ดส�นใจัได#ด#วิยวิ�าจัะน�บ่จั&านวินจั'ดข#าง

เคื�ยงตั�วิม่�นได#อย�างไร

Introduction(2)

Page 4: K-Nearest

TWO MAIN OPERATION

Distance Functionเป+นการคื&านวิณีคื�าระยะห�างระหวิ�างสองเรคืคือร6ด

เพี��อท��จัะม่าวิ�ดคืวิาม่คืล#ายคืล.งก�นของข#อม่,ลCombination Function

เป+นการรวิม่ก�นของผลล�พีธี6ท��ได#จัากการคื&านวิณีคื�าDistance โดยท&าการเร�ยงล&าด�บ่คื�าDistanceจัากน#อยไปม่าก หล�งจัากน��นด,จัากคื�า “K” วิ�าก&าหนดเป+นเท�าไร แล#วิน&าล&าด�บ่ท��เร�ยงได#ม่าเท�ยบ่ก�บ่คืลาสข#อม่,ลท��เร�ยงแล#วิน&าม่าตัอบ่

Page 5: K-Nearest

คุ�ณสมบั�ติของDISTANCE FUNCTION

คื�าระยะทาง(คืวิาม่ห�าง)ท��คื&านวิณีได#ตั#องไม่�ตั�ดลบ่ถ#าตั&าแหน�งเด�ยวิก�นฟั8งก6ช้�นตั#องเป+นศ,นย6(คื�าเหม่�อน

ก�น)การคื&านวิณีวิ�ดระยะทางไปกล�บ่ตั#องเท�าก�น

Page 6: K-Nearest

การคุ�านวณคุ�า DISTANCE FUNCTION

ใส�คื�าส�ม่บ่,รณี6(Absolute)ให#ก�บ่คื�าDistance: |A-B|

ยกก&าล�งสองให#ก�บ่คื�าDistance: (A-B)2

ท&าการNormalized Absolute Value: |A-B|/(maximum difference)

ท&าการปร�บ่ให#เป+นคื�าม่าตัรฐาน: |(A-mean)/(SD)-(B-mean)/(SD)|

Page 7: K-Nearest

การรวมคุ�า DISTANCE ใน Record

Manhattan distance or summation:เป+นการน&าคื�าท��คื&านวิณีได#ในหน.�งRecordม่ารวิม่ก�น

Normalized summation:เป+นการน&าคื�าท��ได#จัากข#อแรกม่าหารด#วิย

คื�าMaxของAttributeEuclidean distance:

เป+นการหารากท��สอง(Square Root)ในแตั�ละAttributeแล#วิน&าม่ารวิม่ก�น แล#วิน&าคื�าท��คื&านวิณีได#ในหน.�งRecordม่ารวิม่ก�น

Page 8: K-Nearest

Case Study No. Gend

erAge Salar

yinacti

ve1 F 27 19,00

0No

2 M 51 64,000

Yes

3 M 52 105,000

Yes

4 F 33 55,000

Yes

5 M 45 45,000

No

new F 45 100,000

???

Page 9: K-Nearest

IdenticalGender

|A-B|Age

|A-B|Salary

Distancedsum

d(1,n) 0 18 81,000

81018

d(2,n) 1 6 36,000

36007

d(3,n) 1 7 5,000 5008d(4,n) 0 12 45,00

045012

d(5,n) 1 0 55,000

55001

Case Study(2)

>>> เร�ยงdsumจัากน#อยไปหาม่ากจัะได#เป+น 3 2 4 5 1

Page 10: K-Nearest

IdenticalGender

|A-B|Age

|A-B|Salary

Distancednormal

d(1,n)

0 18 81,000

1

d(2,n)

1 6 36,000

04444.32102

d(3,n)

1 7 5,0000061813424

d(4,n)

0 12 45,000

05555

80241

d(5,n)

1 0 55,000

06788

73831

Case Study(3)

>>> เร�ยงdsumจัากน#อยไปหาม่ากจัะได#เป+น 3 2 4 5 1

Page 11: K-Nearest

IdenticalGender

|A-B|Age

|A-B|Salary

Distancedeuclid

d(1,n)

0 18 81,000

65610

00324,

d(2,n)

1 6 36,000

12960, ,00037,

d(3,n)

1 7 5,00025000, ,050

d(4,n)

0 12 45,000

20250, ,00144,

d(5,n)

1 0 55,000

30250, ,00001,

Case Study(4)

>>> เร�ยงdsumจัากน#อยไปหาม่ากจัะได#เป+น 3 2 4 5 1

Page 12: K-Nearest

Case Study(5)

Neigh-bour

Neighbour Attribute

K=1

K=2

K=3

K=4

K=5

dsum

3,2,4,5,1

Y,Y,Y,N,N Yes

Yes

Yes

Yes

Yes

dnormal

3,2,4,5 ,1

Y,Y,Y,N,N Yes

Yes

Yes

Yes

Yes

Deu-clid

3,2,4,5 ,1

Y,Y,Y,N,N Yes

Yes

Yes

Yes

Yes

Page 13: K-Nearest

การว�ดคุ�าPerformanceสม่ม่ตั�ข#อม่,ลคื�าTrainingคื�อ

No. Gender

Age Salary inactive

1 F 27 19,000 No

2 M 51 64,000 Yes

3 M 52 105,000

Yes

4 F 33 55,000 Yes

5 M 45 45,000 No

new_1 F 45 100,000

Yes

new_2 M 35 55,500 No

new_3 M 48 55,000 No

Page 14: K-Nearest

New_1

New_2

New_3

Performance

K=1

Y Y N 2/3x100 = 66.67%

K=2

Y ??? Y 1/3x100 = 33.33%

K=3

Y N N 3/3x100 = 100%

การว�ดคุ�าPerformance(2)

คืวิรจัะเล�อก K = 3 เน��องจัากม่�คื�าPerformanceม่ากท��ส'ด

Page 15: K-Nearest

ข�อด�-ข�อเส�ยของ KNNข#อด�

หากเง��อนไขการตั�ดส�นใจัม่�คืวิาม่ซึ่�บ่ซึ่#อนวิ�ธี�น��สาม่ารถสร#างโม่เดลท��ม่�ประส�ทธี�ภาพีได#

ข#อเส�ยใช้#ระยะเวิลาในการคื&านวิณีนานถ#าAttributeม่�จั&านวินม่ากจัะเก�ดป8ญ่หาใน

การคื&านวิณีคื�า