Алгоритам к најближих суседа — разлика између измена

С Википедије, слободне енциклопедије
Садржај обрисан Садржај додат
Нема описа измене
reference
Ред 1: Ред 1:
{{МАТФКА2016}}
{{МАТФКА2016}}
У [[Prepoznavanje obrazaca|препознавању образаца]], '''''к''-најближих суседа''' (или скраћено '''''к''-НН''') представљанепараметарски метод који се користи за класификацију и регресију. У оба случаја, улаз се састоји од ''к''најближих тест примера у функцији простора. Излаз зависи од тога да ли се ''к''-NN -НН користио за класификацију или регресију:
У [[Prepoznavanje obrazaca|препознавању образаца]], '''''к''-најближих суседа''' (или скраћено '''''к''-НН''') представљанепараметарски метод који се користи за класификацију и регресију.<ref>{{cite journal |last=Altman |first=N. S. |title=An introduction to kernel and nearest-neighbor nonparametric regression |journal=The American Statistician |volume=46 |issue=3 |year=1992 |pages=175–185 |doi=10.1080/00031305.1992.10475879}}</ref> У оба случаја, улаз се састоји од ''к''најближих тест примера у функцији простора. Излаз зависи од тога да ли се ''к''-NN -НН користио за класификацију или регресију:


:* У ''к-НН класификацији'', излаз је члан класе. Објекат се класификује гласовима већине својих суседа, тако да објекат буде распоређен у класу најчешћу међу својим ''к'' најближим суседима (''к'' е позитиван [[цео број]], најчешће мали број). Ако је ''к''&nbsp;=&nbsp;1, онда се објекат једноставно додељује класи тог једног најближег суседа.
:* У ''к-НН класификацији'', излаз је члан класе. Објекат се класификује гласовима већине својих суседа, тако да објекат буде распоређен у класу најчешћу међу својим ''к'' најближим суседима (''к'' е позитиван [[цео број]], најчешће мали број). Ако је ''к''&nbsp;=&nbsp;1, онда се објекат једноставно додељује класи тог једног најближег суседа.
Ред 8: Ред 8:
''к''-НН је тип учења које се заснива на примерима, или тзв. лењо учење, где је апроксимација функције локална и сва израчунавања одлажу до класификације. The ''к''-NN -НН алгоритам је најједноставнији од свих алгоритама [[Машинско учење|машинског учења]].
''к''-НН је тип учења које се заснива на примерима, или тзв. лењо учење, где је апроксимација функције локална и сва израчунавања одлажу до класификације. The ''к''-NN -НН алгоритам је најједноставнији од свих алгоритама [[Машинско учење|машинског учења]].


Додела тежине доприносима суседа може бити од користи и за класификацију и за регресију, тако да ближи суседи доприносе просеку више у односу на оне удаљеније. а пример, честа шема доделе је таква да се сваком од суседа додели тежина од 1/''d'', где ''d'' представља растојање од суседа.
Додела тежине доприносима суседа може бити од користи и за класификацију и за регресију, тако да ближи суседи доприносе просеку више у односу на оне удаљеније. а пример, честа шема доделе је таква да се сваком од суседа додели тежина од 1/''d'', где ''d'' представља растојање од суседа.<ref>This scheme is a generalization of linear interpolation.</ref>


Суседи се узимају из скупа објеката за које је класа (за ''к''-НН класификацију) или вредност објекта (за ''к''-НН регресију) позната. Ово се може посматрати као тест скуп за алгоритам иако експлицитни тест кораци нису неопходни.
Суседи се узимају из скупа објеката за које је класа (за ''к''-НН класификацију) или вредност објекта (за ''к''-НН регресију) позната. Ово се може посматрати као тест скуп за алгоритам иако експлицитни тест кораци нису неопходни.
Ред 21: Ред 21:
У фази класификације, ''к'' је константа дефинисана од стране корисника, а неозначени вектор (упит или тест пример) се класификује доделом ознаке која је најучесталија међу ''к'' тест примерима најближим датом упиту.
У фази класификације, ''к'' је константа дефинисана од стране корисника, а неозначени вектор (упит или тест пример) се класификује доделом ознаке која је најучесталија међу ''к'' тест примерима најближим датом упиту.


Најчешће се користи [[Еуклидска раздаљина|Еуклидово растојање]] за непрекидне променљиве. За дискретне променљиве, нпр. за класификацију текста, користи се другачија техника, као што је на пример '''функција раздаљине засноване на преклапању''' (или [[Хамингово растојање]]). У контексту експресије гена микрочип података, ''к''-НН се користи у вези са коефицијентима као што су Пеарсон и Спеарман. Често се тачност класификације ''к''-НН алгоритма може значајно унапредити ако се растојање учи специјалним алгортмима као што су [[Large Margin Nearest Neighbor]] или Анализа компоненти суседа..
Најчешће се користи [[Еуклидска раздаљина|Еуклидово растојање]] за непрекидне променљиве. За дискретне променљиве, нпр. за класификацију текста, користи се другачија техника, као што је на пример '''функција раздаљине засноване на преклапању''' (или [[Хамингово растојање]]). У контексту експресије гена микрочип података, ''к''-НН се користи у вези са коефицијентима као што су Пеарсон и Спеарман.<ref>{{cite web|last1=Jaskowiak|first1=P. A.|last2=Campello|first2=R. J. G. B.|title=Comparing Correlation Coefficients as Dissimilarity Measures for Cancer Classification in Gene Expression Data|url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.208.993|website=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.208.993|publisher=Brazilian Symposium on Bioinformatics (BSB 2011)|accessdate=16 October 2014|pages=1–8}}</ref> Често се тачност класификације ''к''-НН алгоритма може значајно унапредити ако се растојање учи специјалним алгортмима као што су [[Large Margin Nearest Neighbor]] или Анализа компоненти суседа..


Мана класичне класификације "гласање већине" дешава се када је класна дистрибуција искривљена. Тако примери учесталијих класа теже доминацији при предвиђању нових примера, јер теже да, упркос њиховом великом броју, буду чести међу ''к'' најближим суседа.
Мана класичне класификације "гласање већине" дешава се када је класна дистрибуција искривљена. Тако примери учесталијих класа теже доминацији при предвиђању нових примера, јер теже да, упркос њиховом великом броју, буду чести међу ''к'' најближим суседа.<ref name="Coomans_Massart1982">{{Cite journal
| doi = 10.1016/S0003-2670(01)95359-0

| author1 = D. Coomans
Један од начина да се превазиђе овај проблем јесте да се дода тежина класфикацији, узимајући у обзир растојање од тест тачке до сваког од ''к'' најближих суседа. Класа (или вредност, у проблемима са регресијом) сваке од ''к'' најближих тачака множи се тежином пропорционалном инверзу растојања од дате тачке до тест тачке.Други начин превазилажења овог проблема огледа се у апстракцији репрезентације података. На пример, у самоорганизујућој мапи ({{јез-енгл|self-organizing map}} или скраћено SOM), ваки чвор је представник (средиште) скупине сличних тачака, без обзира на њихову густину у оригиналним тест подацима. ''К-НН'' се онда може применити на СОМ.
| author2 = D.L. Massart
| title = Alternative k-nearest neighbour rules in supervised pattern recognition : Part 1. k-Nearest neighbour classification by using alternative voting rules
| journal = [[Analytica Chimica Acta]]
| volume = 136
| issue =
| pages = 15&ndash;27
| year = 1982
}}
</ref> Један од начина да се превазиђе овај проблем јесте да се дода тежина класфикацији, узимајући у обзир растојање од тест тачке до сваког од ''к'' најближих суседа. Класа (или вредност, у проблемима са регресијом) сваке од ''к'' најближих тачака множи се тежином пропорционалном инверзу растојања од дате тачке до тест тачке.Други начин превазилажења овог проблема огледа се у апстракцији репрезентације података. На пример, у самоорганизујућој мапи ({{јез-енгл|self-organizing map}} или скраћено SOM), ваки чвор је представник (средиште) скупине сличних тачака, без обзира на њихову густину у оригиналним тест подацима. ''К-НН'' се онда може применити на СОМ.


==Избор параметара==
==Избор параметара==


Најбољи избор ''к'' зависи од података; уопште узев, веће вредности ''к'' смањују ефекат шумова на класификацију, али су зато границе међу класама мање јасне. Добар одабир к може се извести различтим [[Heuristika (informatika)|хеуристикама ]](видети [[Hyperparameter optimization|хиперпараметарску оптимизацију]]). Посебан случај јесте када је предвиђено да класа буде класа најближих тест примера (нпр. када је ''к'' = 1), назива се алгоритам најближег суседа.
Најбољи избор ''к'' зависи од података; уопште узев, веће вредности ''к'' смањују ефекат шумова на класификацију <ref>Everitt, B. S., Landau, S., Leese, M. and Stahl, D. (2011) Miscellaneous Clustering Methods, in Cluster Analysis, 5th Edition, John Wiley & Sons, Ltd, Chichester, UK.</ref>, али су зато границе међу класама мање јасне. Добар одабир к може се извести различтим [[Heuristika (informatika)|хеуристикама ]](видети [[Hyperparameter optimization|хиперпараметарску оптимизацију]]). Посебан случај јесте када је предвиђено да класа буде класа најближих тест примера (нпр. када је ''к'' = 1), назива се алгоритам најближег суседа.


Тачност ''к''-НН алгоритма може бити озбиљно смањена уколико су присутне грешке или нерелевантне одлике или уколико одлике нису у складу са њиховом важношћу.Уложено је много напора у одабир или скалирање могућности за побољшање класификације. Нарочито је распрострањен приступ употребе еволутивних алгоритама за оптимизацију скалирања одлика. Други распрострањен приступ јесте скалирање одлика према заједничким информацијама тест података са тест класама.
Тачност ''к''-НН алгоритма може бити озбиљно смањена уколико су присутне грешке или нерелевантне одлике или уколико одлике нису у складу са њиховом важношћу.Уложено је много напора у одабир или скалирање могућности за побољшање класификације. Нарочито је распрострањен приступ употребе еволутивних алгоритама за оптимизацију скалирања одлика.<ref>{{cite journal |author=Nigsch F, Bender A, van Buuren B, Tissen J, Nigsch E, Mitchell JB |title=Melting point prediction employing k-nearest neighbor algorithms and genetic parameter optimization |journal=Journal of Chemical Information and Modeling |volume=46 |year=2006 |issue=6 |pages=2412–2422 |doi=10.1021/ci060149f |pmid=17125183}}</ref> Други распрострањен приступ јесте скалирање одлика према заједничким информацијама тест података са тест класама.{{Citation needed|date=December 2008}}


У проблемима са бинарном (две класе) класификацијом, корисно је изабрати к такво да буде непаран број како не би долазило до застоја. Један од распрострањених начина одабира емпријиски оптималног броја ''к'' у овој поставци јесте одабир помоћу тзв. метода подизања система.
У проблемима са бинарном (две класе) класификацијом, корисно је изабрати к такво да буде непаран број како не би долазило до застоја. Један од распрострањених начина одабира емпријиски оптималног броја ''к'' у овој поставци јесте одабир помоћу тзв. метода подизања система.<ref name="HPS2008">{{Cite journal
| author = Hall P, Park BU, Samworth RJ
| title = Choice of neighbor order in nearest-neighbor classification
| journal = [[Annals of Statistics]]
| volume = 36
| issue = 5
| pages = 2135–2152
| year = 2008
| doi = 10.1214/07-AOS537
}}
</ref>


==Својства==
==Својства==
''к''-НН представља посебан случај променљивог пропусног опсега , kernel density "balloon" estimator, уједначеног језгра.
''к''-НН представља посебан случај променљивог пропусног опсега , kernel density "balloon" estimator, уједначеног језгра.<ref name="Terrell_Scott1992">{{Cite journal
| doi = 10.1214/aos/1176348768
| author1 = D. G. Terrell
| author2 = D. W. Scott
| title = Variable kernel density estimation
| journal = [[Annals of Statistics]]
| volume = 20
| issue = 3
| pages = 1236&ndash;1265
| year = 1992
}}
</ref>
<ref name="Mills2010">{{Cite journal
| last = Mills
| first = Peter
| title = Efficient statistical classification of satellite measurements
| journal = International Journal of Remote Sensing
}}
</ref>


Наивна верзија алгоритма је једноставна за примену. Рачунају се растојања од тест примера до свих сачуваних примера, али је ово рачунски захтевно за велке скупове. Коришћењем одговарајућег [[Pretraživanje najbližeg suseda|алгоритма претраге најближег суседа]] algorithm makes ''к-''НН постаје рачунски обрадив чак и за велике скупове. До сада су предложени многи алгоритми претраге најближег суседа; уопште узев, сви ови предлози настоје да смање број изведених израчунавања растојања.
Наивна верзија алгоритма је једноставна за примену. Рачунају се растојања од тест примера до свих сачуваних примера, али је ово рачунски захтевно за велке скупове. Коришћењем одговарајућег [[Pretraživanje najbližeg suseda|алгоритма претраге најближег суседа]] algorithm makes ''к-''НН постаје рачунски обрадив чак и за велике скупове. До сада су предложени многи алгоритми претраге најближег суседа; уопште узев, сви ови предлози настоје да смање број изведених израчунавања растојања.


''к''-НН има добре резултате када је у питању доследност. Како се количина података приближава бесконачности, алгоритам гарантује стопу грешке не лошију од двоструке Бејове стопе грешке (минимална остварива стопа грешке у односу на дистрибуцију/расподелу података). ''к''НН гарантује приближавање Бејовој стопи грешке за неку вредност ''к'' (где се ''к'' повећава као функција броја тачака). Могућа су бројна побољшања к-НН коришћењем графова близине.
''к''-НН има добре резултате када је у питању доследност. Како се количина података приближава бесконачности, алгоритам гарантује стопу грешке не лошију од двоструке Бејове стопе грешке (минимална остварива стопа грешке у односу на дистрибуцију/расподелу података).<ref>{{cite journal |doi=10.1109/TIT.1967.1053964 |author=[[Thomas M. Cover|Cover TM]], [[Peter E. Hart|Hart PE]] |title=Nearest neighbor pattern classification |journal=IEEE Transactions on Information Theory |year=1967 |volume=13 |issue=1 |pages=21–27}}</ref> ''к''НН гарантује приближавање Бејовој стопи грешке за неку вредност ''к'' (где се ''к'' повећава као функција броја тачака). Могућа су бројна побољшања к-НН коришћењем графова близине.<ref>{{cite journal |doi=10.1142/S0218195905001622 |author=Toussaint GT |title=Geometric proximity graphs for improving nearest neighbor methods in instance-based learning and data mining |journal=International Journal of Computational Geometry and Applications |volume=15 |issue=2 |date=April 2005 |pages=101–150}}</ref>


==Учење растојања==
==Учење растојања==
Ред 57: Ред 94:
==Смањење димензија==
==Смањење димензија==
За вишедимензионалне податке (нпр. са димензијом већом од 10), смањење димензија обично се примењује пре примене ''к''-НН алгоритма како би се избегло проклетство димензионалности.
За вишедимензионалне податке (нпр. са димензијом већом од 10), смањење димензија обично се примењује пре примене ''к''-НН алгоритма како би се избегло проклетство димензионалности.
<ref>Beyer, Kevin, et al.. 'When is “nearest neighbor” meaningful?. Database Theory—ICDT’99, 217-235|year 1999</ref>


Проклетство димензионалности у контексту ''к''-НН алгоритма заправо значи да [[Еуклидска раздаљина|Еуклидско растојање]] није од помоћи у великим димензијама јер су скоро сви вектори на једнаком растојању у односу на упит претраге (замислите више тачака које мање-више леже на кругу са упитом који представља тачку у центру; растојање од упита до свих тачака у простору претраге је скоро једнако).
Проклетство димензионалности у контексту ''к''-НН алгоритма заправо значи да [[Еуклидска раздаљина|Еуклидско растојање]] није од помоћи у великим димензијама јер су скоро сви вектори на једнаком растојању у односу на упит претраге (замислите више тачака које мање-више леже на кругу са упитом који представља тачку у центру; растојање од упита до свих тачака у простору претраге је скоро једнако).


Издвајање својстава и смањење димензија могу се комбиновати у једном кораку коришћењем метода анализе главних компоненти ({{јез-енгл|principal component analysis}}, или скраћено PCA), линеарне дискриминантне анализе ({{јез-енгл|linear discriminant analysis}}, или скраћено LDA), или анализе канонске корелације ({{јез-енгл|canonical correlation analysis, или скраћено CCA) технике као корака који претходи обради, након кога следи окупљање помоћу ''к''-НН на функцију простора у простору смањене димензије. У машинском учењу овај процес се зове нискодимензионално уграђивање.
Издвајање својстава и смањење димензија могу се комбиновати у једном кораку коришћењем метода анализе главних компоненти ({{јез-енгл|principal component analysis}}, или скраћено PCA), линеарне дискриминантне анализе ({{јез-енгл|linear discriminant analysis}}, или скраћено LDA), или анализе канонске корелације ({{јез-енгл|canonical correlation analysis, или скраћено CCA) технике као корака који претходи обради, након кога следи окупљање помоћу ''к''-НН на функцију простора у простору смањене димензије. У машинском учењу овај процес се зове нискодимензионално уграђивање. <ref>Shaw, Blake, and Tony Jebara. 'Structure preserving embedding. Proceedings of the 26th Annual International Conference on Machine Learning. ACM,2009</ref>


За веома велике вишедимензионалне скупове података (нпр. када се трага за сличношћу на видео приказима уживо, ДНК подацима или вишедимензионалним редовима времена) извршавање брзе апроксимације ''к''-НН претраге коришћењем {{јез-енгл|locality sensitive hashing}}, "случајних пројекција", "скица" или других вишедимензионалних техника претраге по сличности коришћењем {{јез-енгл|VLDB}} кутије са алаткама може бити једина остварива опција.
За веома велике вишедимензионалне скупове података (нпр. када се трага за сличношћу на видео приказима уживо, ДНК подацима или вишедимензионалним редовима времена) извршавање брзе апроксимације ''к''-НН претраге коришћењем {{јез-енгл|locality sensitive hashing}}, "случајних пројекција" <ref>Bingham, Ella, and Heikki Mannila. Random projection in dimensionality reduction: applications to image and text data. Proceedings of the seventh ACM SIGKDD international conference on Knowledge discovery and data mining. ACM | year 2001</ref>, "скица" <ref>Shasha, D High Performance Discovery in Time Series.Berlin: Springer, 2004, ISBN 0-387-00857-8</ref> или других вишедимензионалних техника претраге по сличности коришћењем {{јез-енгл|VLDB}} кутије са алаткама може бити једина остварива опција.


== Одређивање границе ==
== Одређивање границе ==
Правила најближег суседа имплицитно рачунају границу одлучивања међу скуповима. Могуће је израчунати границу одлучивања експлицитно и ефикасно тако да сложеност израчунавања остане у границама сложености
Правила најближег суседа имплицитно рачунају границу одлучивања међу скуповима. Могуће је израчунати границу одлучивања експлицитно и ефикасно тако да сложеност израчунавања остане у границама сложености. <ref>{{cite journal |doi=10.1007/s00454-004-1152-0 |author=Bremner D, Demaine E, Erickson J, Iacono J, Langerman S, Morin P, Toussaint G |title=Output-sensitive algorithms for computing nearest-neighbor decision boundaries |journal=Discrete and Computational Geometry |volume=33 |issue=4 |year=2005 |pages=593–604}}</ref>


== Проширење ''к''-НН ({{јез-енгл|ENN}}) за класификацију ==
== Проширење ''к''-НН ({{јез-енгл|ENN}}) за класификацију ==
За разлику од класичних ''к''-НН метода у којима се користе само најближи суседи објекта за процену чланства у групи, проширење ''к''-НН метода, скраћено {{јез-енгл|ENN}}, користи ''двосмерну комуникацију'' за класификацију: узима у обзир не само ко су најближи суседи тест примера, већ и ко сматра тест пример својим најближим суседом. Идеја {{јез-енгл|ENN}} метода је додела чланства у групи објекту максимизовањем ''унутар-класне повезаности'', што представља статистичко мерење повезаности међу свим класама. Емпиријске студије су показале да {{јез-енгл|ENN}} може значајно да побољша тачност класификације у поређењену са ''к''-НН методом.
За разлику од класичних ''к''-НН метода у којима се користе само најближи суседи објекта за процену чланства у групи, проширење ''к''-НН метода, скраћено {{јез-енгл|ENN}}<ref>{{cite journal |doi=10.1109/MCI.2015.2437512 |author=Tang B, He H |title=ENN: Extended Nearest Neighbor Method for Pattern Recognition [Research Frontier] |journal=IEEE Computational Intelligence Magazine |volume=10 |number=3 |year=2015 |pages=52–60}}</ref>, користи ''двосмерну комуникацију'' за класификацију: узима у обзир не само ко су најближи суседи тест примера, већ и ко сматра тест пример својим најближим суседом. Идеја {{јез-енгл|ENN}} метода је додела чланства у групи објекту максимизовањем ''унутар-класне повезаности'', што представља статистичко мерење повезаности међу свим класама. Емпиријске студије су показале да {{јез-енгл|ENN}} може значајно да побољша тачност класификације у поређењену са ''к''-НН методом.


== Смањење података ==
== Смањење података ==
Ред 85: Ред 123:


=== CNN за смањење података ===
=== CNN за смањење података ===
Збијени најближи сусед ({{јез-енгл|CNN}}, '' Хартов алгоритам'') редставља алгоритам намењен за смањење скупа података за ''к''-НН класификацију. Он селектује скуп прототипова ''U'' из тест података, таквих да {{јез-енгл|1NN}} са ''U'' може да класификује примере скоро прецизно као што то {јез-енгл|1NN}} чини са читавим скупом података.
Збијени најближи сусед ({{јез-енгл|CNN}}, '' Хартов алгоритам'') редставља алгоритам намењен за смањење скупа података за ''к''-НН класификацију <ref>[[Peter E. Hart|P. E. Hart]], The Condensed Nearest Neighbor Rule. IEEE Transactions on Information Theory 18 (1968) 515–516. doi: 10.1109/TIT.1968.1054155</ref>. Он селектује скуп прототипова ''U'' из тест података, таквих да {{јез-енгл|1NN}} са ''U'' може да класификује примере скоро прецизно као што то {јез-енгл|1NN}} чини са читавим скупом података.


[[File:BorderRAtio.PNG|thumb|130px|right|Израчунавање размереграница.]]
[[File:BorderRAtio.PNG|thumb|130px|right|Израчунавање размереграница.]]

Верзија на датум 12. мај 2016. у 17:06

У препознавању образаца, к-најближих суседа (или скраћено к-НН) представљанепараметарски метод који се користи за класификацију и регресију.[1] У оба случаја, улаз се састоји од кнајближих тест примера у функцији простора. Излаз зависи од тога да ли се к-NN -НН користио за класификацију или регресију:

  • У к-НН класификацији, излаз је члан класе. Објекат се класификује гласовима већине својих суседа, тако да објекат буде распоређен у класу најчешћу међу својим к најближим суседима (к е позитиван цео број, најчешће мали број). Ако је к = 1, онда се објекат једноставно додељује класи тог једног најближег суседа.
  • У к-НН регресији, излаз представља вредност објекта. Ова вредност представља просек вредности његових к најближих суседа..

к-НН је тип учења које се заснива на примерима, или тзв. лењо учење, где је апроксимација функције локална и сва израчунавања одлажу до класификације. The к-NN -НН алгоритам је најједноставнији од свих алгоритама машинског учења.

Додела тежине доприносима суседа може бити од користи и за класификацију и за регресију, тако да ближи суседи доприносе просеку више у односу на оне удаљеније. а пример, честа шема доделе је таква да се сваком од суседа додели тежина од 1/d, где d представља растојање од суседа.[2]

Суседи се узимају из скупа објеката за које је класа (за к-НН класификацију) или вредност објекта (за к-НН регресију) позната. Ово се може посматрати као тест скуп за алгоритам иако експлицитни тест кораци нису неопходни.

Мана к-НН алгоритма је та што је осетљив на локалне структуре података. Алгоритам нема ништа заједничко и не треба га мешати са кластеризацијом кластеризацијом методом к-средњих вредности, што је друга популарна техника машинског учења.

Алгоритам

Пример к-НН класификације. Тест пример (зелени круг) треба да буде класификован или као прва класа плавих квадрата или као друга класа црвених троуглова. Ако је к = 3 (пуна линија круга), онда је додељен другој класи јер се унутар унутрашњег круга налазе 2 троугла и само један квадрат. Ако је к = 5 (испрекидана линија круга), онда је додељен првој класи (3 квадрата у односу на 2 троугла унутар спољашњег круга).

Тест примери су вектори у мултидимензионалној функцији простора, где сваки има класну ознаку. Тест фаза алгоритма састоји се у складиштењу будућих вектрора и класних ознака тест примера.

У фази класификације, к је константа дефинисана од стране корисника, а неозначени вектор (упит или тест пример) се класификује доделом ознаке која је најучесталија међу к тест примерима најближим датом упиту.

Најчешће се користи Еуклидово растојање за непрекидне променљиве. За дискретне променљиве, нпр. за класификацију текста, користи се другачија техника, као што је на пример функција раздаљине засноване на преклапању (или Хамингово растојање). У контексту експресије гена микрочип података, к-НН се користи у вези са коефицијентима као што су Пеарсон и Спеарман.[3] Често се тачност класификације к-НН алгоритма може значајно унапредити ако се растојање учи специјалним алгортмима као што су Large Margin Nearest Neighbor или Анализа компоненти суседа..

Мана класичне класификације "гласање већине" дешава се када је класна дистрибуција искривљена. Тако примери учесталијих класа теже доминацији при предвиђању нових примера, јер теже да, упркос њиховом великом броју, буду чести међу к најближим суседа.[4] Један од начина да се превазиђе овај проблем јесте да се дода тежина класфикацији, узимајући у обзир растојање од тест тачке до сваког од к најближих суседа. Класа (или вредност, у проблемима са регресијом) сваке од к најближих тачака множи се тежином пропорционалном инверзу растојања од дате тачке до тест тачке.Други начин превазилажења овог проблема огледа се у апстракцији репрезентације података. На пример, у самоорганизујућој мапи (енгл. self-organizing map или скраћено SOM), ваки чвор је представник (средиште) скупине сличних тачака, без обзира на њихову густину у оригиналним тест подацима. К-НН се онда може применити на СОМ.

Избор параметара

Најбољи избор к зависи од података; уопште узев, веће вредности к смањују ефекат шумова на класификацију [5], али су зато границе међу класама мање јасне. Добар одабир к може се извести различтим хеуристикама (видети хиперпараметарску оптимизацију). Посебан случај јесте када је предвиђено да класа буде класа најближих тест примера (нпр. када је к = 1), назива се алгоритам најближег суседа.

Тачност к-НН алгоритма може бити озбиљно смањена уколико су присутне грешке или нерелевантне одлике или уколико одлике нису у складу са њиховом важношћу.Уложено је много напора у одабир или скалирање могућности за побољшање класификације. Нарочито је распрострањен приступ употребе еволутивних алгоритама за оптимизацију скалирања одлика.[6] Други распрострањен приступ јесте скалирање одлика према заједничким информацијама тест података са тест класама.[тражи се извор]

У проблемима са бинарном (две класе) класификацијом, корисно је изабрати к такво да буде непаран број како не би долазило до застоја. Један од распрострањених начина одабира емпријиски оптималног броја к у овој поставци јесте одабир помоћу тзв. метода подизања система.[7]

Својства

к-НН представља посебан случај променљивог пропусног опсега , kernel density "balloon" estimator, уједначеног језгра.[8] [9]

Наивна верзија алгоритма је једноставна за примену. Рачунају се растојања од тест примера до свих сачуваних примера, али је ово рачунски захтевно за велке скупове. Коришћењем одговарајућег алгоритма претраге најближег суседа algorithm makes к-НН постаје рачунски обрадив чак и за велике скупове. До сада су предложени многи алгоритми претраге најближег суседа; уопште узев, сви ови предлози настоје да смање број изведених израчунавања растојања.

к-НН има добре резултате када је у питању доследност. Како се количина података приближава бесконачности, алгоритам гарантује стопу грешке не лошију од двоструке Бејове стопе грешке (минимална остварива стопа грешке у односу на дистрибуцију/расподелу података).[10] кНН гарантује приближавање Бејовој стопи грешке за неку вредност к (где се к повећава као функција броја тачака). Могућа су бројна побољшања к-НН коришћењем графова близине.[11]

Учење растојања

Учинак класификације алгоритма к најближих суседа често се може значајно побољшати помоћу (надгледаног) учења растојања.Распрострањени алгоритми јесу анализа компоненти суседства и ларге маргин неарест неигхбор. Ови надгледани алгоритми учења растојања користе означене информације да науче функцију метрике или псеудо-метрику.

Издвајање својстава

Када су улазни подаци за алгоритам сувише велики да би се обрадили и када се мисли да је то сувишно (нпр. иста мерења и у стопама и у метрима), тада се улазни подаци трансформишу у редуковану репрезентацију скупа својстава (вектор одлика). Трансформација улазних података у скуп својстава зове се издвајање својстава. Уколико су издвојена својства пажљиво одабрана, очекује се да ће скуп својстава извући релевантне информације о улазним подацима у циљу извршавања жељеног задатка користећи се редукованим приказом уместо података у пуној величини. Издвајање својстава одвија се над необрађеним подацима пре примене к-НН алгоритма на измењене податке у просторној функцији.

Пример уобичајеног извршавања инструкција у рачунару за препознавања лица коришћењем к-НН обухватајући и извлачење и смањење димензија претпроцесирања (обично имплементиран помоћу OpenCV):

  1. Haar препознавање лица
  2. Анализа праћења главних промена
  3. PCA или Fisher LDA пројекција на функцију простора, након које следи класификацијом к-НН

Смањење димензија

За вишедимензионалне податке (нпр. са димензијом већом од 10), смањење димензија обично се примењује пре примене к-НН алгоритма како би се избегло проклетство димензионалности. [12]

Проклетство димензионалности у контексту к-НН алгоритма заправо значи да Еуклидско растојање није од помоћи у великим димензијама јер су скоро сви вектори на једнаком растојању у односу на упит претраге (замислите више тачака које мање-више леже на кругу са упитом који представља тачку у центру; растојање од упита до свих тачака у простору претраге је скоро једнако).

Издвајање својстава и смањење димензија могу се комбиновати у једном кораку коришћењем метода анализе главних компоненти (енгл. principal component analysis, или скраћено PCA), линеарне дискриминантне анализе (енгл. linear discriminant analysis, или скраћено LDA), или анализе канонске корелације (енгл. [canonical correlation analysis, или скраћено CCA) технике као корака који претходи обради, након кога следи окупљање помоћу к-НН на функцију простора у простору смањене димензије. У машинском учењу овај процес се зове нискодимензионално уграђивање. [13]

За веома велике вишедимензионалне скупове података (нпр. када се трага за сличношћу на видео приказима уживо, ДНК подацима или вишедимензионалним редовима времена) извршавање брзе апроксимације к-НН претраге коришћењем енгл. locality sensitive hashing, "случајних пројекција" [14], "скица" [15] или других вишедимензионалних техника претраге по сличности коришћењем енгл. VLDB кутије са алаткама може бити једина остварива опција.

Одређивање границе

Правила најближег суседа имплицитно рачунају границу одлучивања међу скуповима. Могуће је израчунати границу одлучивања експлицитно и ефикасно тако да сложеност израчунавања остане у границама сложености. [16]

Проширење к-НН (енгл. ENN) за класификацију

За разлику од класичних к-НН метода у којима се користе само најближи суседи објекта за процену чланства у групи, проширење к-НН метода, скраћено енгл. ENN[17], користи двосмерну комуникацију за класификацију: узима у обзир не само ко су најближи суседи тест примера, већ и ко сматра тест пример својим најближим суседом. Идеја енгл. ENN метода је додела чланства у групи објекту максимизовањем унутар-класне повезаности, што представља статистичко мерење повезаности међу свим класама. Емпиријске студије су показале да енгл. ENN може значајно да побољша тачност класификације у поређењену са к-НН методом.

Смањење података

Редукција података је један од најважнијих проблема у раду са огромним скуповима података. Обично су само неки од података потребни за тачну класификацију. Ти подаци се називају прототипови, а могуће их је пронаћи на следећи начин:

  1. Изаберите оне које не припадају класи, тј. тест податке који су нетачно класификовани помоћу к-НН (за дато к)
  2. Раздвојите остале податаке на два скупа: (i) прототипове који се користе за одлуке класификације и (ii) апсорбоване тачке које се могу правилно сврстати помоћу к-НН коришћењем прототипова. Апсорбоване тачке затим могу бити уклоњене из тест скупа.

Одабир оних који не припадају класи

Тест примери окружени примерима других класа зову се класни диспаранти. Узроци појаве ових класних диспараната обухватају следеће:

  • случајна грешка
  • недовољно тест примера дате класе (појављује се изолован пример уместо скупа)
  • недостатак важних својстава (класе су одвојене у другим димензијама за које не знамо)
  • сувише тест примера других класа (неуравнотежених класа) које стварају непријатељску позадину за дату малу класу.

Класни диспаранти са к-НН производе шум. Могуће их је открити и одвојити за даље анализе. За дата два природна броја, к > r > 0, тест пример се назива (к,р) - НН класни диспарант уколико његови к најближих суседи обухватају више од r тест примера других класа.

CNN за смањење података

Збијени најближи сусед (енгл. CNN, Хартов алгоритам) редставља алгоритам намењен за смањење скупа података за к-НН класификацију [18]. Он селектује скуп прототипова U из тест података, таквих да енгл. 1NN са U може да класификује примере скоро прецизно као што то {јез-енгл] грешка: {{lang}}: текст има искошену назнаку (помоћ) чини са читавим скупом података.

Израчунавање размереграница.
Три типа тачака: прототипови, класни диспаранти и апсорбоване тачке.

За дати тест скуп X, CNN ради итеративно:

  1. Претражите све елементе у X, трагајући за елементом x таквим да најближи протип из U има другачију ознаку у односу на x.
  2. Уклоните x из X и додаје га у U
  3. Поновите претрагу све док не постоје прототипи које је могуће додати у U.

Користите U уместо X за класификацију. Примери који нису прототипови зову се "апсорбоване" тачке. Ефикасан начин представља претраживање тест примера у циљу смањења размере граница. Размера граница тест примера x се дефинише као

a(x) = ||x'-y||/||x-y||

где је ||x-y|| растојање од најближег примерка y који има другачију боју у односу на x, а ||x'-y|| jе растојање од y до његовог најближег примера x' са истом ознаком као x.

Размера граница је у интервалу [0,1] јер ||x'-y|| никад не прелази ||x-y||. Овакво уређење даје предност границама класа за укључивање у скуп прототипова U. Тачка са другачијом ознаком у односу на x назива се спољашњом у односу на x. Израчунавање размере граница приказано је на слици са десне стране. Тачке са подацима означене су бојом: почетна тачка је x и њена ознака је црвена. Спољашње тачкле су плаве и зелене. Најближа спољашњој тачки од x јесте тачка y. Најближа црвеној y тачки јесте тачка x'. Размера граница a(x) = ||x'-y|| / ||x-y||is the attribute of the initial point x. Испод је у низу слика приказан CNN. Дате су три класе (црвена, зелена и плава). Слика 1: на почетку се у свакој класи налази 60 тачака. На Слици 2 приказана је класификациона мапа 1NN: сваки пиксел се класификује 1NN коришћењем свих података. На Слици 3 приказана је касификациона мапа 5NN. Беле површине одговарају некласификованим подручијма, где је 5NN гласање загушено (нпр., ако постоје две зелене, две црвене и једна плава тачка међу пет најближих суседа). На Слици 4 приказан је редукован скуп података. Крстићи представљају класне диспаранте одабране правилом (3,2)NN (сва три најблилижа суседа ових инстанци припадају другим класама); квадрати су прототипи, а празни кругови су апсорбоване тачке. Леви доњи угао показује број класних диспараната, прототипова и апсорбованих тачака за све три класе. Број прототипова варира од 15 до 20% за различите класе у овом примеру. На Слици 5 приказана је класификациона мапа 1NN са прототиповима веома слична почетном скупу података. Слике су урађене помоћу Mirkes applet-a.

к-НН регресија

У к-НН регресији, к-НН алгоритам се користи за процену непрекидних променљивих. Један такав алгоритам користи тежински просек к најближих суседа којима је додељна функција тежине инверзна њихових дистанци. Овај алгоритам ради на следећи начин:

  1. Израчунати Еуклидско или Махаланобисово растојање од тест упита до означених примера.
  2. Поређати означене примере према растућим растојањима.
  3. Тражи се хеуристички оптималан број к најближих суседа који се заснива на RMCE. Ово се ради помоћу унакрсном провером.
  4. Израчунати инверзно растојање тежинског просека к најближих вишепроменљивих суседа.

Провера резултата

Матрица забуне или "матрица пододурања" често се користи као средство провере тачности к-НН класификације. Такође се могу користити и нешто робуснији методи као што је тест односа вероватноће.

Видети још

Референце

  1. ^ Altman, N. S. (1992). „An introduction to kernel and nearest-neighbor nonparametric regression”. The American Statistician. 46 (3): 175—185. doi:10.1080/00031305.1992.10475879. 
  2. ^ This scheme is a generalization of linear interpolation.
  3. ^ Jaskowiak, P. A.; Campello, R. J. G. B. „Comparing Correlation Coefficients as Dissimilarity Measures for Cancer Classification in Gene Expression Data”. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.208.993. Brazilian Symposium on Bioinformatics (BSB 2011). стр. 1—8. Приступљено 16. 10. 2014.  Спољашња веза у |website= (помоћ)
  4. ^ D. Coomans; D.L. Massart (1982). „Alternative k-nearest neighbour rules in supervised pattern recognition : Part 1. k-Nearest neighbour classification by using alternative voting rules”. Analytica Chimica Acta. 136: 15–27. doi:10.1016/S0003-2670(01)95359-0. 
  5. ^ Everitt, B. S., Landau, S., Leese, M. and Stahl, D. (2011) Miscellaneous Clustering Methods, in Cluster Analysis, 5th Edition, John Wiley & Sons, Ltd, Chichester, UK.
  6. ^ Nigsch F, Bender A, van Buuren B, Tissen J, Nigsch E, Mitchell JB (2006). „Melting point prediction employing k-nearest neighbor algorithms and genetic parameter optimization”. Journal of Chemical Information and Modeling. 46 (6): 2412—2422. PMID 17125183. doi:10.1021/ci060149f. 
  7. ^ Hall P, Park BU, Samworth RJ (2008). „Choice of neighbor order in nearest-neighbor classification”. Annals of Statistics. 36 (5): 2135—2152. doi:10.1214/07-AOS537. 
  8. ^ D. G. Terrell; D. W. Scott (1992). „Variable kernel density estimation”. Annals of Statistics. 20 (3): 1236–1265. doi:10.1214/aos/1176348768. 
  9. ^ Mills, Peter. „Efficient statistical classification of satellite measurements”. International Journal of Remote Sensing. 
  10. ^ Cover TM, Hart PE (1967). „Nearest neighbor pattern classification”. IEEE Transactions on Information Theory. 13 (1): 21—27. doi:10.1109/TIT.1967.1053964. 
  11. ^ Toussaint GT (април 2005). „Geometric proximity graphs for improving nearest neighbor methods in instance-based learning and data mining”. International Journal of Computational Geometry and Applications. 15 (2): 101—150. doi:10.1142/S0218195905001622. 
  12. ^ Beyer, Kevin, et al.. 'When is “nearest neighbor” meaningful?. Database Theory—ICDT’99, 217-235|year 1999
  13. ^ Shaw, Blake, and Tony Jebara. 'Structure preserving embedding. Proceedings of the 26th Annual International Conference on Machine Learning. ACM,2009
  14. ^ Bingham, Ella, and Heikki Mannila. Random projection in dimensionality reduction: applications to image and text data. Proceedings of the seventh ACM SIGKDD international conference on Knowledge discovery and data mining. ACM | year 2001
  15. ^ Shasha, D High Performance Discovery in Time Series.Berlin: Springer, 2004, ISBN 0-387-00857-8
  16. ^ Bremner D, Demaine E, Erickson J, Iacono J, Langerman S, Morin P, Toussaint G (2005). „Output-sensitive algorithms for computing nearest-neighbor decision boundaries”. Discrete and Computational Geometry. 33 (4): 593—604. doi:10.1007/s00454-004-1152-0. 
  17. ^ Tang B, He H (2015). „ENN: Extended Nearest Neighbor Method for Pattern Recognition [Research Frontier]”. IEEE Computational Intelligence Magazine. 10 (3): 52—60. doi:10.1109/MCI.2015.2437512. 
  18. ^ P. E. Hart, The Condensed Nearest Neighbor Rule. IEEE Transactions on Information Theory 18 (1968) 515–516. doi: 10.1109/TIT.1968.1054155

Додатна литература