Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
ss16:handschrifterkennung [2016/09/22 19:22] victorbremer |
ss16:handschrifterkennung [2016/09/23 13:22] (aktuell) victorbremer |
||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
Zur Handschrifterkennung haben wir uns verschiedene Methoden zur Zuordnung im hochdimensionalen Raum angeguckt. Am einfachsten zu verstehen und zu programmieren fanden wir den k-nearest-Neighbor-Algorithmus (knN). Daher haben wir diesen [[knnself|programmiert]]. \\ | Zur Handschrifterkennung haben wir uns verschiedene Methoden zur Zuordnung im hochdimensionalen Raum angeguckt. Am einfachsten zu verstehen und zu programmieren fanden wir den k-nearest-Neighbor-Algorithmus (knN). Daher haben wir diesen [[knnself|programmiert]]. \\ | ||
Weil es schneller ist benutzen wir den Algorithmus aus der sklearn-Bibliothek. \\ | Weil es schneller ist benutzen wir den Algorithmus aus der sklearn-Bibliothek. \\ | ||
- | Beim knN-Algorithmus werden die Bilder in einen Vektor geschrieben. Dann wird der Abstand zwischen dem Vektor und den Vektoren der Proben berechnet. Aus den k-Vektoren die den geringsten Abstand haben wird eine Mehrheitsentscheidung über die Zugehörigkeit gebildet. Daher ist es wichtig wie groß das k gewählt wird. Bei zu kleinem k wird ein Ausreißer einen zu großen Einfluss haben und bei einem zu großem k werden zu viele irrelevanten berücksichtigt. | + | Beim knN-Algorithmus werden die Bilder in einen Vektor geschrieben. Dann wird der Abstand zwischen dem Vektor und den Vektoren der Proben berechnet. Aus den k-Vektoren die den geringsten Abstand haben wird eine Mehrheitsentscheidung über die Zugehörigkeit gebildet. Daher ist es wichtig wie groß das k gewählt wird. Bei zu kleinem k wird ein Ausreißer einen zu großen Einfluss haben und bei einem zu großem k werden zu viele irrelevanten berücksichtigt. \\ |
+ | Nach unserem Test ([[knnktest|Code mit Graph der Trefferquote]]) haben wir uns für k=8 entschieden. |