Supongo que se refiere a una red neuronal completamente conectada (también conocida como red de perceptrón multicapa) cuando dice ANN.
Los perceptrones son clasificadores lineales, lo que significa que generan hiperplanos que pueden distinguir entre clases linealmente separables sin errores. Sin embargo, generan dicho hiperplano dependiendo de su inicialización y el orden de sus datos de entrenamiento. No hay forma de saber cuál.
SVM también es un clasificador lineal, pero garantiza generar el hiperplano de separación óptimo. Aquí, óptimo simplemente significa el hiperplano que tiene los márgenes más grandes desde los límites de las clases en sus datos de entrenamiento. Por lo tanto, el uso de un SVM garantiza que obtenga el hiperplano de separación más seguro como precaución ante los valores atípicos que su clasificador podría encontrar.
- ¿Cuál es el estado actual del uso del aprendizaje automático en la optimización de la producción?
- ¿Qué sistema operativo es mejor para mantener el anonimato: Redhat, Debian, Linux Mint o Ubuntu?
- ¿Cuáles son algunos de los temas más importantes de la visión por computadora que se están investigando actualmente en las principales empresas de tecnología como Google o Microsoft?
- ¿Cómo puede determinar eficientemente el k-ésimo elemento máximo en un árbol de búsqueda binario?
- ¿La mayoría de los satélites estadounidenses todavía funcionan en un sistema informático basado en DOS?
Dado que sus datos no son linealmente separables, debe usar un SVM de margen blando o el truco del kernel.
- A diferencia de los SVM convencionales (margen duro), los SVM de margen blando permiten clasificaciones erróneas en sus datos de entrenamiento, pero le permiten ajustar su sensibilidad utilizando parámetros llamados variables de holgura. Al hacerlo, está generando el hiperplano que clasifica principalmente sus clases, pero no realiza una precisión del 100% en sus datos de entrenamiento. Si intentas usar un clasificador de margen duro para tus datos de entrenamiento no linealmente separables, no se garantiza que el clasificador produzca un clasificador preciso, así que no hagas eso.
- Su otra opción es usar el truco del núcleo, que internamente transforma sus datos a una dimensión superior, en la cual sus datos se vuelven linealmente separables. Estas dimensiones se obtienen como combinaciones de sus dimensiones actuales. Genera un clasificador de esa dimensión superior que puede separar sus clases. Suena complicado y complicado, pero una pequeña investigación revelaría que no es más que unas pocas líneas de código y se puede hacer de manera bastante trivial. En este caso, si puede encontrar la transformación correcta (núcleo) y la dimensión, su clasificador puede separar sus datos de entrenamiento con una precisión del 100%. La parte difícil es encontrar el núcleo correcto y la dimensión correcta.