Eventos
Compilación de Intelligent Apps
17 mar, 23 - 21 mar, 23
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Para cada tarea de ML.NET, existen varios algoritmos de entrenamiento de donde elegir. La elección depende del problema que intenta resolver, las características de los datos y los recursos de proceso y almacenamiento que tiene a su disposición. Es importante tener en cuenta que entrenar un modelo de Machine Learning es un proceso iterativo. Es posible que deba probar varios algoritmos para encontrar el que mejor funcione.
Los algoritmos funcionan con características. Las características son valores numéricos calculados a partir de los datos de entrada. Son entradas óptimas para los algoritmos de aprendizaje automático. Transforme sus datos de entrada sin formato en características mediante una o varias de las transformaciones de datos. Por ejemplo, los datos de texto se transforman en un conjunto de recuentos de palabras y recuentos de combinación de palabras. Una vez extraídas las características de un tipo de datos sin formato mediante transformaciones de datos, se dice que están caracterizadas. Por ejemplo, texto caracterizado o datos de imagen caracterizados.
Un algoritmo es la expresión matemática que se ejecuta para generar un modelo. Diferentes algoritmos generan modelos con diferentes características.
Con ML.NET, se puede aplicar el mismo algoritmo a distintas tareas. Por ejemplo, se puede usar el ascenso coordinado dual estocástico para la clasificación binaria, la clasificación multiclase y la regresión. La diferencia radica en cómo se interpreta la salida del algoritmo para que coincida con la tarea.
Para cada combinación de tarea o algoritmo, ML.NET proporciona un componente que ejecuta el algoritmo de entrenamiento y hace la interpretación. Estos componentes se denominan instructores. Por ejemplo, SdcaRegressionTrainer usa el algoritmo StochasticDualCoordinatedAscent que se aplica a la tarea de regresión.
Los algoritmos lineales generan un modelo que calcula puntuaciones desde una combinación lineal de los datos de entrada y un conjunto de pesos. Los pesos son parámetros del modelo estimado durante el entrenamiento.
Los algoritmos lineales funcionan bien para las características que se pueden separar de manera lineal.
Antes del entrenamiento con un algoritmo lineal, se deben normalizar las características. Esto evita que una característica tenga más influencia sobre el resultado que otros.
En general, los algoritmos lineales son escalables, rápidos y baratos de entrenar y predecir. Se escalan por el número de características y aproximadamente por el tamaño del conjunto de datos de entrenamiento.
Los algoritmos lineales realizan varios recorridos por los datos de entrenamiento. Si el conjunto de datos cabe en la memoria, la adición de un punto de control de memoria caché a la canalización de ML.NET antes de anexar el instructor hará que el entrenamiento se ejecute más rápidamente.
Ideal para la clasificación de textos.
Formador | Tarea | ONNX Exportable |
---|---|---|
AveragedPerceptronTrainer | Clasificación binaria | Sí |
No es necesario optimizar para obtener un buen rendimiento predeterminado.
Formador | Tarea | ONNX Exportable |
---|---|---|
SdcaLogisticRegressionBinaryTrainer | Clasificación binaria | Sí |
SdcaNonCalibratedBinaryTrainer | Clasificación binaria | Sí |
SdcaMaximumEntropyMulticlassTrainer | Clasificación multiclase | Sí |
SdcaNonCalibratedMulticlassTrainer | Clasificación multiclase | Sí |
SdcaRegressionTrainer | Regresión | Sí |
Se utiliza cuando el número de características es grande. Genera estadísticas de entrenamiento de regresión logística, pero no se escala tan bien como AveragedPerceptronTrainer.
Formador | Tarea | ONNX Exportable |
---|---|---|
LbfgsLogisticRegressionBinaryTrainer | Clasificación binaria | Sí |
LbfgsMaximumEntropyMulticlassTrainer | Clasificación multiclase | Sí |
LbfgsPoissonRegressionTrainer | Regresión | Sí |
Instructor de clasificación binaria lineal más rápido y más preciso. Se escala bien con el número de procesadores.
Formador | Tarea | ONNX Exportable |
---|---|---|
SymbolicSgdLogisticRegressionBinaryTrainer | Clasificación binaria | Sí |
Implementa el descenso de gradiente estocástico estándar (no por lotes), con una selección de funciones de pérdida, y una opción para actualizar el vector de peso usando el promedio de los vectores detectados a lo largo del tiempo.
Formador | Tarea | ONNX Exportable |
---|---|---|
OnlineGradientDescentTrainer | Regresión | Sí |
Los algoritmos de árbol de decisión crean un modelo que contiene una serie de decisiones: eficazmente un diagrama de flujo a través de los valores de datos.
Para usar este tipo de algoritmo, no es necesario poder separar las características de forma lineal. Tampoco es necesario normalizar las características, porque los valores individuales en el vector de la característica se usan de forma independiente en el proceso de toma de decisiones.
Los algoritmos de árbol de decisión normalmente son muy precisos.
Salvo por los modelos aditivos generalizados (GAM), los modelos de árbol carecen de explicación cuando el número de características es grande.
Los algoritmos de árbol de decisión consumen más recursos y no se escalan tan bien como los lineales. Se desempeñan bien en los conjuntos de datos que pueden caber en la memoria.
Los árboles de decisión potenciados son un conjunto de árboles pequeños, donde cada árbol asigna una puntuación a los datos de entrada y pasa la puntuación al árbol siguiente para generar una mejor puntuación y así sucesivamente, donde cada árbol en el conjunto mejora al anterior.
Instructores de árbol de clasificación binaria más rápidos y más precisos. Altamente optimizable.
Formador | Tarea | ONNX Exportable |
---|---|---|
LightGbmBinaryTrainer | Clasificación binaria | Sí |
LightGbmMulticlassTrainer | Clasificación multiclase | Sí |
LightGbmRegressionTrainer | Regresión | Sí |
LightGbmRankingTrainer | Clasificación | No |
Se usa para los datos de imagen caracterizados. Resistente a los datos no equilibrados. Altamente optimizable.
Formador | Tarea | ONNX Exportable |
---|---|---|
FastTreeBinaryTrainer | Clasificación binaria | Sí |
FastTreeRegressionTrainer | Regresión | Sí |
FastTreeTweedieTrainer | Regresión | Sí |
FastTreeRankingTrainer | Clasificación | No |
Funciona bien con datos ruidosos.
Formador | Tarea | ONNX Exportable |
---|---|---|
FastForestBinaryTrainer | Clasificación binaria | Sí |
FastForestRegressionTrainer | Regresión | Sí |
Ideal para problemas que funcionan bien con los algoritmos de árbol, pero en los que la explicación es una prioridad.
Formador | Tarea | ONNX Exportable |
---|---|---|
GamBinaryTrainer | Clasificación binaria | No |
GamRegressionTrainer | Regresión | No |
Se utiliza para el filtrado colaborativo en la recomendación.
Formador | Tarea | ONNX Exportable |
---|---|---|
MatrixFactorizationTrainer | Recomendación | No |
Ideal para datos categóricos dispersos, con grandes conjuntos de datos.
Formador | Tarea | ONNX Exportable |
---|---|---|
FieldAwareFactorizationMachineTrainer | Clasificación binaria | No |
Estos instructores crean un instructor multiclase a partir de un instructor binario. Usar con AveragedPerceptronTrainer, LbfgsLogisticRegressionBinaryTrainer, SymbolicSgdLogisticRegressionBinaryTrainer, LightGbmBinaryTrainer, FastTreeBinaryTrainer, FastForestBinaryTrainer, GamBinaryTrainer.
Este clasificador multiclase entrena un clasificador binario para cada clase, que distingue esa clase de todas las demás. Está limitado en la escala por el número de clases para clasificar.
Formador | Tarea | ONNX Exportable |
---|---|---|
OneVersusAllTrainer | Clasificación multiclase | Sí |
Este clasificador multiclase entrena un algoritmo de clasificación binaria en cada par de clases. Está limitado en la escala por el número de clases, ya que cada combinación de dos clases debe entrenarse.
Formador | Tarea | ONNX Exportable |
---|---|---|
PairwiseCouplingTrainer | Clasificación multiclase | No |
Se usa para la agrupación en clústeres.
Formador | Tarea | ONNX Exportable |
---|---|---|
KMeansTrainer | Agrupación en clústeres | Sí |
Se usa para la detección de anomalías.
Formador | Tarea | ONNX Exportable |
---|---|---|
RandomizedPcaTrainer | Detección de anomalías | No |
Use este algoritmo de clasificación multiclase cuando las características sean independientes y el conjunto de datos de entrenamiento sea pequeño.
Formador | Tarea | ONNX Exportable |
---|---|---|
NaiveBayesMulticlassTrainer | Clasificación multiclase | Sí |
Use este algoritmo de clasificación binaria para marcar el rendimiento de otros instructores. Para ser eficaces, las métricas de los otros instructores deben ser mejores que el instructor anterior.
Formador | Tarea | ONNX Exportable |
---|---|---|
PriorTrainer | Clasificación binaria | Sí |
Las máquinas de vectores de soporte (SVM) son una clase muy popular y contrastada de modelos de aprendizaje supervisados, que se puede usar en tareas de clasificación lineal y no lineal.
Las investigaciones recientes se han centrado en maneras de optimizar estos modelos para escalar de forma eficaz a conjuntos de entrenamiento más grandes.
Predice un destino mediante un modelo de clasificación binaria lineal entrenado a través de datos de etiqueta booleanos. Alterna entre pasos de descenso de gradiente estocástico y pasos de proyección.
Formador | Tarea | ONNX Exportable |
---|---|---|
LinearSvmTrainer | Clasificación binaria | Sí |
Predice un objetivo utilizando un modelo de clasificación binaria no lineal. Reduce el costo de tiempo de predicción; el costo de predicción aumenta logarítmicamente con el tamaño del conjunto de entrenamiento, en lugar de linealmente, con una pérdida tolerable en la precisión de la clasificación.
Formador | Tarea | ONNX Exportable |
---|---|---|
LdSvmTrainer | Clasificación binaria | Sí |
La ordinaria de mínimos cuadrados es una de las técnicas que se emplean con más frecuencia en regresión lineal.
Los mínimos cuadrados hacen referencia a la función de pérdida, que calcula el error como la suma del cuadrado de la distancia entre el valor real y la línea predicha, y ajusta el modelo minimizando el error cuadrático. Este método presupone una sólida relación lineal entre las entradas y la variable dependiente.
Formador | Tarea | ONNX Exportable |
---|---|---|
OlsTrainer | Regresión | Sí |
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Compilación de Intelligent Apps
17 mar, 23 - 21 mar, 23
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahora