Aprendizaje automático: ¿cómo puedo aprender a modificar las bibliotecas estándar de ML para una mayor precisión?

Su propuesta en la pregunta es diferente a la de los detalles.

En el título, consulte la modificación de las bibliotecas de ML estándar para obtener una mayor precisión. A menos que usted sea un especialista en aprendizaje automático o un investigador, le aconsejaría no hacerlo. Las personas que escribieron esos algoritmos tenían una hipótesis que estaban probando y la validaron ampliamente para que otros pudieran usarla. Incluso si mejora la precisión de un modelo de datos dado, será al menos un desafío garantizar que tenga un uso generalizado, incluso solo para su problema.

En los detalles de la pregunta usted presenta un problema diferente. Que ha alcanzado el límite con las bibliotecas existentes y desea avanzar.

Permítanme comenzar diciendo que soy un poco escéptico acerca de esa afirmación. Me pregunto qué conjuntos de datos y problemas fueron resueltos por alguien que hace esa afirmación. ¿Hubo algún problema del mundo real resuelto con un conjunto de datos del mundo real?

Pero suponiendo que se trata de un reclamo legítimo, deberá desarrollar nuevos algoritmos para resolver problemas específicos que no estén resueltos o que no estén totalmente resueltos.

Uno de los analistas que trabaja conmigo hizo eso. El problema no era la precisión, de hecho era que, desde un punto de vista empresarial, era inadmisible que tuviéramos falsas clasificaciones erróneas. Cuando eso sucede, crear sus propios algoritmos no solo es aceptable sino que probablemente sea su única solución.

He releído tu pregunta pero no la entiendo.

¿Cuál es tu búsqueda?

¿Quieres entender mejor los algoritmos ML actuales? Si es así, entonces, por todos los medios, vaya y vuelva a implementar los algoritmos existentes en un lenguaje de programación de su elección. Es mejor hacer esto utilizando un marco como scikit-learn, para que tenga formatos de entrada y salida bien definidos.

¿Tiene un problema científico o de negocios que requiere una mayor precisión? Mis sugerencias, en el orden en que las trataría, son:

a. Comprenda mejor el problema del negocio, tal vez utilizando un experto humano.

segundo. Compruebe la definición de la medida de precisión: ¿se adapta al problema?

do. ¿Puedes obtener más / mejores datos?

re. ¿Puedes limpiar tus datos para mejorar la precisión?

mi. Extraer / construir mejores características.

F. Mejorar la selección de características.

sol. Usa un conjunto de clasificadores.

h. Utilice el aumento de gradiente para el aprendizaje estructurado, el aprendizaje profundo para otros problemas.

yo. Intente cambiar los hiperparámetros usando la búsqueda de cuadrícula u otra meta-optimización.

Si ha llegado a este punto, puede ir al código fuente de un algoritmo de código abierto ML implementado y ver si falta algo.

Puede que no esté entendiendo su pregunta, en cuyo caso, edítela para que sea más clara.

La precisión de la predicción está relacionada con las características que utiliza y el equilibrio entre la flexibilidad y la regularización que su modelo y usted deciden. Si estamos hablando de implementar un algoritmo existente, la única manera de que usted pueda lograr un mejor resultado de predicción es implementar algo así como un programa de aprendizaje más sofisticado (basado en la investigación de otras personas).

El punto clave en la investigación de LD no es la implementación, sino el diseño del algoritmo.

Sí, siempre puedes hacer eso. Encuentre un conjunto de datos interesante donde le resulte difícil encontrar patrones (mire estos conjuntos de datos: caesar0301 / awesome-public-datasets. Cuando obtenga un conjunto de datos donde encontrar patrones no sea realmente sencillo, podría pensar en nuevas formas de aplicar , preprocesar o incluso crear un nuevo algoritmo de aprendizaje en lugar de enfoques ingenuos como cambiar los métodos del kernel en un código SVM estándar. Sin embargo, ¿qué es la implementación y la precisión de los picos de ML? en conjuntos de datos en tiempo real.