[PYTHON] Ich habe versucht, SVM zu organisieren.

・ Über SVM (Support Vector Machine) ・ Verwenden Sie es schließlich als persönliches Hobby im Computer-Shogi Ich habe es zusammen versucht.

1. 1. Übersicht über SVM

SVM:Understanding Support Vector Machine algorithm from examples (along with code) http://www.analyticsvidhya.com/blog/2015/10/understaing-support-vector-machine-example-code/?utm_content=buffer4951f&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

Obwohl es sich um einen englischen Artikel handelt, ist dies meine persönliche Empfehlung. Das Konzept der SVM wird grafisch ohne Erklärung durch die Formel erklärt, Ich denke, es ist sehr einfach, damit auszukommen.

・ Klassifizieren Sie durch Zeichnen der Grenzfläche

2. Über die Methode namens SVM

Fasst PRML (Mustererkennung und maschinelles Lernen) zusammen Ich habe bereits einen großartigen Artikel, siehe das.

1) Lineare SVM

http://aidiary.hatenablog.com/entry/20100501/1272712699

Das Obige definiert nicht genau, wie die Schnittstelle gezeichnet wird. Ein Optimierungsproblem, das den Spielraum maximiert (der kürzeste Abstand zwischen der Klassifizierungsgrenze und den Trainingsdaten). Sie können sehen, dass Sie das doppelte Problem des konvexen Planungsproblems lösen sollten.

2) Nichtlineare SVM

http://aidiary.hatenablog.com/entry/20100502/1272804952

Indem der Rand zu einer nichtlinearen Funktion gemacht wird, ist eine komplexere Klassifizierung möglich. Trotzdem ist die Klassifizierung bei Überlappung schwierig.

3) SVM mit weichem Rand

http://aidiary.hatenablog.com/entry/20100503/1272889097

Bisher heißt es Hard Margin SVM, Es war eine Technik, die davon ausging, dass die Daten im Eingaberaum x vollständig getrennt werden konnten.

Andererseits wird die SVM mit weichem Rand verwendet, um die Klassifizierung zu überwinden, wenn eine Überlappung vorliegt, wie oben beschrieben. Dies ist eine Methode, die eine Fehlklassifizierung bestraft.

Je mehr Fehlklassifizierungen vorgenommen werden, desto mehr Strafen werden hinzugefügt, um eine Minimierung zu verhindern. Versuchen Sie daher, Fehlklassifizierungen so gering wie möglich zu halten. Es wird versucht, die Parameter anzupassen.

Je höher die Strafe, desto genauer die Klassifizierung. Egal wie fein die Klassifikationsgrenzen sind ...

3. 3. Verwendung von SVM in Computer Shogi

Verstopfungsvorhersage durch SVM und deren Anwendung Makoto Miwa, Institut für Grundlageninformatik, Graduiertenschule für New Area Creation Science, Universität Tokio (zu dieser Zeit) http://repository.dl.itc.u-tokyo.ac.jp/dspace/bitstream/2261/187/1/K-00177.pdf

SVM wird verwendet, um Verstopfungen im Shogi vorherzusagen.

Bei Shogi ist es sehr wichtig zu beurteilen, ob eine Blockade vorliegt. "Durch die Verwendung der Verstopfungsvorhersage mit SVM konnten wir die Suchzeit auf 62% reduzieren." Das ist der Zweck dieses Papiers.

Für Computer Shogi ・ Anwendung des maschinellen Lernens auf Bewertungsfunktionen ・ Suchalgorithmus zur Suche nach Aspekten Es ist ausführlich darüber geschrieben, daher denke ich, dass es sehr lehrreich sein wird.

In "2. Über die Methode namens SVM" habe ich Schritt für Schritt erklärt. Aus Berechnungskosten und Einfachheit ergibt sich praktisch ungefähr 1. Ich denke, die lineare SVM von ist genug.

Es gibt Studien, die nichtlineare SVM anwenden, aber ich persönlich halte dies für kontraproduktiv. Die erhaltene Genauigkeit ist für die Berechnungskosten sehr gering.


Ergänzung: Nutzung des maschinellen Lernens in Computer Shogi and Go http://www.slideshare.net/TakashiKato2/ss-57966067

Ich habe es selbst angesprochen, aber hier erfahren Sie, wie Sie maschinelles Lernen in Computer-Shogi verwenden.

Recommended Posts

Ich habe versucht, SVM zu organisieren.
Ich habe versucht, mich über MCMC zu organisieren.
Ich habe versucht zu debuggen.
Ich habe versucht, PredNet zu lernen
Ich habe versucht, PCANet zu implementieren
Ich habe versucht, Linux wieder einzuführen
Ich habe versucht, Pylint vorzustellen
Ich habe versucht, SparseMatrix zusammenzufassen
jupyter ich habe es berührt
Ich habe versucht, StarGAN (1) zu implementieren.
Ich habe versucht, Deep VQE zu implementieren
Ich habe versucht, eine Quip-API zu erstellen
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, eine kontroverse Validierung zu implementieren
Ich habe versucht, Pytorchs Datensatz zu erklären
Ich habe Watson Voice Authentication (Speech to Text) ausprobiert.
Ich habe Teslas API berührt
Ich habe versucht, Realness GAN zu implementieren
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren
Ich habe versucht, den Befehl umask zusammenzufassen
Ich habe versucht, Permutation in Python zu implementieren
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Ich habe versucht, AutoEncoder mit TensorFlow zu visualisieren
Ich habe versucht zu kratzen
Ich versuchte das Weckwort zu erkennen
Ich habe versucht, mit Hy anzufangen
Ich habe PyQ ausprobiert
Ich habe versucht, PLSA in Python 2 zu implementieren
Python3-Standardeingabe habe ich versucht zusammenzufassen
Ich habe versucht, Text mit TensorFlow zu klassifizieren
Ich habe AutoKeras ausprobiert
Ich habe versucht, die grafische Modellierung zusammenzufassen.
Ich habe versucht, der CPython-Implementierung ein Post-Inkrement hinzuzufügen
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, Optuna die Nummer lösen zu lassen
Ich habe versucht, das Umfangsverhältnis π probabilistisch abzuschätzen
Ich habe versucht, die COTOHA-API zu berühren
Ich habe versucht, PPO in Python zu implementieren
Ich habe es mit Papiermühle versucht
Ich habe versucht, CVAE mit PyTorch zu implementieren
Ich habe eine Web-API erstellt
Ich habe versucht, TSP mit QAOA zu lösen
[Python] Ich habe versucht, TF-IDF stetig zu berechnen
Ich habe versucht, Python zu berühren (grundlegende Syntax)
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich versuchte mein Bestes, um zu Lasso zurückzukehren
Ich habe versucht, Ansibles Module-Linux-Edition zusammenzufassen
Ich habe versucht, nächstes Jahr mit AI vorherzusagen
Ich habe versucht, eine Super-Resolution-Methode / ESPCN zu erstellen
Ich habe versucht, die Blasensortierung nach Sprache zu programmieren
Ich habe Web Scraping versucht, um die Texte zu analysieren.