Cómo elegir algoritmos para Azure Machine Learning StudioHow to choose algorithms for Azure Machine Learning Studio

La respuesta a la pregunta "¿qué algoritmo de aprendizaje automático debería usar?"The answer to the question "What machine learning algorithm should I use?" siempre es "Depende".is always "It depends." Depende del tamaño, la calidad y la naturaleza de los datos.It depends on the size, quality, and nature of the data. Depende de qué desea hacer con la respuesta.It depends on what you want to do with the answer. Depende de cómo se hayan traducido los cálculos del algoritmo en instrucciones para el equipo que está usando.It depends on how the math of the algorithm was translated into instructions for the computer you are using. Y también depende del tiempo de que disponga.And it depends on how much time you have. Ni siquiera los científicos con más experiencia en datos pueden determinar qué algoritmo funcionará mejor antes de probarlos.Even the most experienced data scientists can't tell which algorithm will perform best before trying them.

Machine Learning Studio ofrece los algoritmos mas innovadores, como árboles de decisión incrementados escalables, sistemas de recomendaciones bayesianas, redes neuronales profundas y selvas de decisión, que se han desarrollado en Microsoft Research.Machine Learning Studio provides state-of-the-art algorithms, such as Scalable Boosted Decision trees, Bayesian Recommendation systems, Deep Neural Networks, and Decision Jungles developed at Microsoft Research. También se incluyen paquetes de aprendizaje automático escalables de código abierto, como Vowpal Wabbit.Scalable open-source machine learning packages, like Vowpal Wabbit, are also included. Machine Learning Studio admite algoritmos de aprendizaje automático para clasificación, regresión y agrupación en clústeres y binarias y multiclase.Machine Learning Studio supports machine learning algorithms for multiclass and binary classification, regression, and clustering. Consulte la lista completa de módulos de Machine Learning.See the complete list of Machine Learning Modules. La documentación proporciona alguna información acerca de cada algoritmos, y se ajustan los parámetros para optimizar el algoritmo para su uso.The documentation provides some information about each algorithm and how to tune parameters to optimize the algorithm for your use.

Hoja de referencia rápida de algoritmos de Machine LearningThe Machine Learning Algorithm Cheat Sheet

La Hoja de referencia rápida de algoritmos de aprendizaje automático de Microsoft Azure Machine Learning Studio ayuda a elegir el algoritmo de aprendizaje automático adecuado para sus soluciones de análisis predictivo de la biblioteca de algoritmos de Azure Machine Learning Studio.The Microsoft Azure Machine Learning Studio Algorithm Cheat Sheet helps you choose the right machine learning algorithm for your predictive analytics solutions from the Azure Machine Learning Studio library of algorithms. En este artículo se explica cómo usarla.This article walks you through how to use this cheat sheet.

Nota

Para descargar la hoja de referencia rápida y usarla con las instrucciones de este artículo, consulte la hoja de referencia rápida de algoritmos de aprendizaje automático de Microsoft Azure Machine Learning Studio.To download the cheat sheet and follow along with this article, go to Machine learning algorithm cheat sheet for Microsoft Azure Machine Learning Studio.

Esta hoja de referencia rápida está pensada para un público muy específico: científicos de datos principiantes con conocimientos de aprendizaje automático de nivel universitario que intentan elegir un algoritmo para empezar en Azure Machine Learning Studio.This cheat sheet has a very specific audience in mind: a beginning data scientist with undergraduate-level machine learning, trying to choose an algorithm to start with in Azure Machine Learning Studio. Eso significa que en ella se hacen algunas generalizaciones y simplificaciones exageradas, pero le sirve para orientarse bien.That means that it makes some generalizations and oversimplifications, but it points you in a safe direction. También significa que hay muchos algoritmos que no están incluidos aquí.It also means that there are lots of algorithms not listed here.

Estas recomendaciones son una recopilación de los comentarios y las sugerencias de muchos científicos de datos y expertos en aprendizaje automático.These recommendations are compiled feedback and tips from many data scientists and machine learning experts. No estuvimos de acuerdo en todo, pero intentamos combinar las opiniones para llegar a un consenso general.We didn't agree on everything, but we've tried to harmonize our opinions into a rough consensus. La mayoría de los argumentos de desacuerdo comienzan con "Depende...".Most of the statements of disagreement begin with "It depends…"

Cómo usar la hoja de referencia rápidaHow to use the cheat sheet

Lea las etiquetas de ruta de acceso y algoritmo del gráfico con el siguiente formato: "Para <etiqueta de ruta de acceso> , use <algoritmo> ".Read the path and algorithm labels on the chart as "For <path label>, use <algorithm>." Por ejemplo, "Para velocidad, use la regresión logística de dos clases".For example, "For speed, use two class logistic regression." Ciertas veces, se aplica más de una rama.Sometimes more than one branch applies. Otras, ninguna de ellas es la ideal.Sometimes none of them are a perfect fit. Tienen la finalidad de ser recomendaciones generales, así que no se preocupe si no son exactas.They're intended to be rule-of-thumb recommendations, so don't worry about it being exact. Varios de los científicos de datos con los que hablamos dijeron que la única forma de encontrar el mejor algoritmo es probarlos todos.Several data scientists we talked with said that the only sure way to find the very best algorithm is to try all of them.

Este es un ejemplo de Azure AI Gallery de un experimento en el que se prueban varios algoritmos con los mismos datos y se comparan los resultados: Compare Multi-class Classifiers: Letter recognition (Comparación de clasificadores multiclase: reconocimiento de letras).Here's an example from the Azure AI Gallery of an experiment that tries several algorithms against the same data and compares the results: Compare Multi-class Classifiers: Letter recognition.

Sugerencia

Para descargar una introducción infográfica fácil de comprender sobre conceptos básicos de aprendizaje automático para obtener información acerca de los algoritmos populares utilizados para responder a preguntas comunes sobre el aprendizaje automático, consulte Conceptos básicos de aprendizaje automático con ejemplos de algoritmos.To download an easy-to-understand infographic overview of machine learning basics to learn about popular algorithms used to answer common machine learning questions, see Machine learning basics with algorithm examples.

Variantes del aprendizaje automáticoFlavors of machine learning

SupervisadoSupervised

Los algoritmos de aprendizaje supervisado hacen predicciones basadas en un conjunto de ejemplos.Supervised learning algorithms make predictions based on a set of examples. Por ejemplo, los precios históricos de las acciones pueden usarse para hacer estimaciones de los precios futuros.For instance, historical stock prices can be used to make guesses about future prices. Cada ejemplo usado para el entrenamiento se etiqueta con el valor de interés; en este caso, el precio de las acciones.Each example used for training is labeled with the value of interest—in this case the stock price. Un algoritmo de aprendizaje supervisado busca patrones en esas etiquetas de valor.A supervised learning algorithm looks for patterns in those value labels. Puede usar cualquier información que pueda ser relevante, como el día de la semana, la temporada, datos financieros de la empresa, el tipo de sector o la presencia de eventos geopolíticos perjudiciales, y cada algoritmo busca tipos diferentes de patrones.It can use any information that might be relevant—the day of the week, the season, the company's financial data, the type of industry, the presence of disruptive geopolitical events—and each algorithm looks for different types of patterns. Una vez que el algoritmo encuentra el mejor patrón posible, lo usa para hacer predicciones de datos de prueba sin etiquetar; en este caso, los precios futuros.After the algorithm has found the best pattern it can, it uses that pattern to make predictions for unlabeled testing data—tomorrow's prices.

El aprendizaje supervisado es un tipo conocido y útil de aprendizaje automático.Supervised learning is a popular and useful type of machine learning. Con una única excepción: todos los módulos de Azure Machine Learning Studio son algoritmos de aprendizaje supervisado.With one exception, all the modules in Azure Machine Learning Studio are supervised learning algorithms. Hay varios tipos específicos de aprendizaje supervisado representados en Azure Machine Learning Studio: la clasificación, la regresión y la detección de anomalías.There are several specific types of supervised learning that are represented within Azure Machine Learning Studio: classification, regression, and anomaly detection.

  • Clasificación.Classification. Cuando los datos se usan para predecir una categoría, el aprendizaje supervisado también se denomina clasificación.When the data are being used to predict a category, supervised learning is also called classification. Esto ocurre cuando se asigna una imagen, como una foto de un 'gato' o un 'perro'.This is the case when assigning an image as a picture of either a 'cat' or a 'dog'. Cuando hay solo dos opciones, se denomina clasificación de dos clases o binomial.When there are only two choices, it's called two-class or binomial classification. Cuando hay más categorías, como cuando se predice el ganador del torneo March Madness de la NCAA, este problema se conoce como clasificación multiclase.When there are more categories, as when predicting the winner of the NCAA March Madness tournament, this problem is known as multi-class classification.
  • Regresión.Regression. Cuando se predice un valor, como el precio de las acciones, el aprendizaje supervisado se denomina regresión.When a value is being predicted, as with stock prices, supervised learning is called regression.
  • Detección de anomalías.Anomaly detection. A veces, el objetivo es identificar puntos de datos que simplemente no son habituales.Sometimes the goal is to identify data points that are simply unusual. En la detección de fraudes, por ejemplo, los patrones de gasto de tarjeta de crédito muy poco habituales son sospechosos.In fraud detection, for example, any highly unusual credit card spending patterns are suspect. Las posibles variaciones son tan numerosas y los ejemplos de formación son tan pocos, que no es posible saber de qué actividad fraudulenta se trata.The possible variations are so numerous and the training examples so few, that it's not feasible to learn what fraudulent activity looks like. El enfoque que toma la detección de anomalías es simplemente aprender qué puede considerarse como actividad normal (haciendo uso de las transacciones no fraudulentas del historial) e identificar todo lo que sea significativamente diferente.The approach that anomaly detection takes is to simply learn what normal activity looks like (using a history of non-fraudulent transactions) and identify anything that is significantly different.

Sin supervisarUnsupervised

En el aprendizaje sin supervisar, los puntos de datos no tienen etiquetas asociadas a ellos.In unsupervised learning, data points have no labels associated with them. En su lugar, el objetivo de un algoritmo de aprendizaje sin supervisar es organizar los datos de alguna manera o describir su estructura.Instead, the goal of an unsupervised learning algorithm is to organize the data in some way or to describe its structure. Esto puede significar agruparlos en clústeres o buscar diferentes maneras de examinar datos complejos para que parezcan más simples o más organizados.This can mean grouping it into clusters or finding different ways of looking at complex data so that it appears simpler or more organized.

Aprendizaje de refuerzoReinforcement learning

En el aprendizaje de refuerzo, el algoritmo elige una acción en respuesta a cada punto de datos.In reinforcement learning, the algorithm gets to choose an action in response to each data point. El algoritmo de aprendizaje también recibe una señal de recompensa un poco más adelante, que indica cómo de buena fue la decisión.The learning algorithm also receives a reward signal a short time later, indicating how good the decision was. Según esto, el algoritmo modifica su estrategia para lograr la mayor recompensa.Based on this, the algorithm modifies its strategy in order to achieve the highest reward. Actualmente no hay ningún módulo de algoritmos de aprendizaje de refuerzo en Azure Machine Learning Studio.Currently there are no reinforcement learning algorithm modules in Azure Machine Learning Studio. El aprendizaje de refuerzo es común en robótica, donde el conjunto de lecturas del sensor en un punto en el tiempo es un punto de datos, y el algoritmo debe elegir la siguiente acción del robot.Reinforcement learning is common in robotics, where the set of sensor readings at one point in time is a data point, and the algorithm must choose the robot's next action. También resulta perfecto para las aplicaciones de Internet de las cosas.It is also a natural fit for Internet of Things applications.

Consideraciones al elegir un algoritmoConsiderations when choosing an algorithm

PrecisiónAccuracy

No siempre es necesario obtener la respuesta más precisa posible.Getting the most accurate answer possible isn't always necessary. A veces, una aproximación ya es útil, según para qué se la desee usar.Sometimes an approximation is adequate, depending on what you want to use it for. Si es así, puede reducir el tiempo de procesamiento de forma considerable al usar métodos más aproximados.If that's the case, you may be able to cut your processing time dramatically by sticking with more approximate methods. Otra ventaja de los métodos más aproximados es que tienden naturalmente a evitar el sobreajuste.Another advantage of more approximate methods is that they naturally tend to avoid overfitting.

Tiempo de entrenamientoTraining time

La cantidad de minutos u horas necesarios para entrenar un modelo varía mucho según el algoritmo.The number of minutes or hours necessary to train a model varies a great deal between algorithms. A menudo, el tiempo de entrenamiento depende de la precisión (generalmente, uno determina al otro).Training time is often closely tied to accuracy—one typically accompanies the other. Además, algunos algoritmos son más sensibles a la cantidad de puntos de datos que otros.In addition, some algorithms are more sensitive to the number of data points than others. Si el tiempo es limitado, esto puede determinar la elección del algoritmo, especialmente cuando el conjunto de datos es grande.When time is limited it can drive the choice of algorithm, especially when the data set is large.

LinealidadLinearity

Muchos algoritmos de aprendizaje automático hacen uso de la linealidad.Lots of machine learning algorithms make use of linearity. Los algoritmos de clasificación lineal suponen que las clases pueden estar separadas mediante una línea recta (o su análogo de mayores dimensiones).Linear classification algorithms assume that classes can be separated by a straight line (or its higher-dimensional analog). Entre ellos, se encuentran la regresión logística y las máquinas de vectores de soporte (como las que se implementan en Azure Machine Learning Studio).These include logistic regression and support vector machines (as implemented in Azure Machine Learning Studio). Los algoritmos de regresión lineal suponen que las tendencias de datos siguen una línea recta.Linear regression algorithms assume that data trends follow a straight line. Estas suposiciones no son incorrectas para algunos problemas, pero en otros disminuyen la precisión.These assumptions aren't bad for some problems, but on others they bring accuracy down.

Límite de clase no lineal

Límite de clase no lineal : la dependencia de un algoritmo de clasificación lineal se traduciría en baja precisión.Non-linear class boundary - relying on a linear classification algorithm would result in low accuracy

Datos con tendencia no lineal

Datos con tendencia no lineal : el uso de un método de regresión lineal generaría errores mucho mayores que los necesariosData with a nonlinear trend - using a linear regression method would generate much larger errors than necessary

A pesar de los riesgos, los algoritmos lineales son muy populares como primera línea de ataque.Despite their dangers, linear algorithms are very popular as a first line of attack. Tienden a ser algorítmicamente sencillos y rápidos para entrenar.They tend to be algorithmically simple and fast to train.

Cantidad de parámetrosNumber of parameters

Los parámetros son los botones que un científico de datos activa al configurar un algoritmo.Parameters are the knobs a data scientist gets to turn when setting up an algorithm. Son números que afectan al comportamiento del algoritmo, como la tolerancia a errores o la cantidad de iteraciones, o bien opciones de variantes de comportamiento del algoritmo.They are numbers that affect the algorithm's behavior, such as error tolerance or number of iterations, or options between variants of how the algorithm behaves. El tiempo de entrenamiento y la precisión del algoritmo a veces pueden ser muy sensibles y requerir solo la configuración correcta.The training time and accuracy of the algorithm can sometimes be quite sensitive to getting just the right settings. Normalmente, los algoritmos con parámetros de números grandes requieren la mayor cantidad de pruebas y errores posible para encontrar una buena combinación.Typically, algorithms with large numbers of parameters require the most trial and error to find a good combination.

También puede haber un bloque de módulos de barrido de parámetros en Azure Machine Learning Studio que prueba automáticamente todas las combinaciones de parámetros en cualquier granularidad que se elija.Alternatively, there is a parameter sweeping module block in Azure Machine Learning Studio that automatically tries all parameter combinations at whatever granularity you choose. Aunque esta es una excelente manera de asegurarse de que se ha distribuido el espacio de parámetros, el tiempo necesario para entrenar un modelo aumenta de manera exponencial con la cantidad de parámetros.While this is a great way to make sure you've spanned the parameter space, the time required to train a model increases exponentially with the number of parameters.

La ventaja es que tener muchos parámetros normalmente indica que un algoritmo tiene mayor flexibilidad.The upside is that having many parameters typically indicates that an algorithm has greater flexibility. Por lo general, puede conseguir una precisión muy elevada, siempre y cuando se encuentre la combinación correcta de configuraciones de parámetros.It can often achieve very good accuracy, provided you can find the right combination of parameter settings.

Cantidad de característicasNumber of features

Para ciertos tipos de datos, la cantidad de características puede ser muy grande en comparación con la cantidad de puntos de datos.For certain types of data, the number of features can be very large compared to the number of data points. Este suele ser el caso de la genética o los datos textuales.This is often the case with genetics or textual data. Una gran cantidad de características puede trabar algunos algoritmos de aprendizaje y provocar que el tiempo de entrenamiento sea demasiado largo.The large number of features can bog down some learning algorithms, making training time unfeasibly long. Las máquinas de vectores de soporte son especialmente adecuadas para este caso (ver abajo).Support Vector Machines are particularly well suited to this case (see below).

Casos especialesSpecial cases

Algunos algoritmos de aprendizaje hacen determinadas suposiciones sobre la estructura de los datos o los resultados deseados.Some learning algorithms make particular assumptions about the structure of the data or the desired results. Si encuentra uno que se ajuste a sus necesidades, este puede ofrecerle resultados más útiles, predicciones más precisas o tiempos de entrenamiento más cortos.If you can find one that fits your needs, it can give you more useful results, more accurate predictions, or faster training times.

AlgoritmoAlgorithm PrecisiónAccuracy Tiempo de entrenamientoTraining time LinealidadLinearity ParámetrosParameters NotasNotes
Clasificación multiclaseTwo-class classification
regresión logísticalogistic regression 55
bosque de decisióndecision forest 66
selva de decisióndecision jungle 66 Uso de memoria bajoLow memory footprint
árbol de decisión impulsadoboosted decision tree 66 Uso de memoria grandeLarge memory footprint
red neuronalneural network 99 La personalización adicional es posibleAdditional customization is possible
perceptrón promedioaveraged perceptron 44
máquina de vectores de soportesupport vector machine 55 Útil para conjuntos de características de gran tamañoGood for large feature sets
máquina de vectores de soporte localmente profundalocally deep support vector machine 88 Útil para conjuntos de características de gran tamañoGood for large feature sets
máquina del punto de BayesBayes’ point machine 33
Clasificación multiclaseMulti-class classification
regresión logísticalogistic regression 55
bosque de decisióndecision forest 66
selva de decisióndecision jungle 66 Uso de memoria bajoLow memory footprint
red neuronalneural network 99 La personalización adicional es posibleAdditional customization is possible
uno frente a todosone-v-all - - - - Vea las propiedades del método de dos clases seleccionadoSee properties of the two-class method selected
RegresiónRegression
lineallinear 44
Bayesiano linealBayesian linear 22
bosque de decisióndecision forest 66
árbol de decisión impulsadoboosted decision tree 55 Uso de memoria grandeLarge memory footprint
cuantil de bosque rápidofast forest quantile 99 Distribuciones en lugar de predicciones de puntosDistributions rather than point predictions
red neuronalneural network 99 La personalización adicional es posibleAdditional customization is possible
PoissonPoisson 55 Logarítmico lineal técnicamente.Technically log-linear. Para la predicción de recuentosFor predicting counts
ordinalordinal 00 Para la predicción de ordenación de clasificacionesFor predicting rank-ordering
Detección de anomalíasAnomaly detection
máquina de vectores de soportesupport vector machine 22 Especialmente útil para conjuntos de características de gran tamañoEspecially good for large feature sets
Detección de anomalías basada en PCAPCA-based anomaly detection 33
K-MeansK-means 44 Un algoritmo de agrupación en clústeresA clustering algorithm

Propiedades de algoritmo:Algorithm properties:

: muestra una precisión excelente, tiempos de entrenamiento breves y uso de linealidad - shows excellent accuracy, fast training times, and the use of linearity

: muestra una precisión buena y tiempos de entrenamiento moderado - shows good accuracy and moderate training times

Notas sobre los algoritmosAlgorithm notes

Regresión linealLinear regression

Como se mencionó anteriormente, la regresión lineal ajusta una línea (o plano o hiperplano) al conjunto de datos.As mentioned previously, linear regression fits a line (or plane, or hyperplane) to the data set. Es potente, simple y rápida, pero puede ser demasiado simple para algunos problemas.It's a workhorse, simple and fast, but it may be overly simplistic for some problems.

Datos con tendencia lineal

Datos con tendencia linealData with a linear trend

Regresión logísticaLogistic regression

Aunque incluye la palabra "regresión" en el nombre, la regresión logística es en realidad una herramienta eficaz para la clasificación de dos clases y multiclase.Although it includes 'regression' in the name, logistic regression is actually a powerful tool for two-class and multiclass classification. Es rápida y sencilla.It's fast and simple. El hecho de que use una curva con forma de S en lugar de una línea recta la hace ideal para dividir los datos en grupos.The fact that it uses an 'S'-shaped curve instead of a straight line makes it a natural fit for dividing data into groups. La regresión logística proporciona límites de clase lineal. Por lo tanto, cuando la use, asegúrese de que la aproximación lineal le es útil.Logistic regression gives linear class boundaries, so when you use it, make sure a linear approximation is something you can live with.

Regresión logística a datos de dos clases con una sola característica

Regresión logística a datos de dos clases con una sola característica : el límite de clase es el punto en el que la curva logística tiene la misma distancia hacia ambas clasesA logistic regression to two-class data with just one feature - the class boundary is the point at which the logistic curve is just as close to both classes

Árboles, bosques y selvasTrees, forests, and jungles

Los bosques de decisión (regresión, dos clases y multiclase), las selvas de decisión (dos clases y multiclase) y los árboles de decisión impulsados (regresión y dos clases) se basan en árboles de decisión, un concepto fundamental del aprendizaje automático.Decision forests (regression, two-class, and multiclass), decision jungles (two-class and multiclass), and boosted decision trees (regression and two-class) are all based on decision trees, a foundational machine learning concept. Hay muchas variantes de árboles de decisión, pero todas ellas hacen lo mismo: subdividir el espacio de características en regiones con casi siempre la misma etiqueta.There are many variants of decision trees, but they all do the same thing—subdivide the feature space into regions with mostly the same label. Estas pueden ser regiones de la misma categoría o de un valor constante, según si se está realizando una clasificación o una regresión.These can be regions of consistent category or of constant value, depending on whether you are doing classification or regression.

El árbol de decisión subdivide un espacio de características

Un árbol de decisión subdivide un espacio de características en regiones de valores más o menos uniformesA decision tree subdivides a feature space into regions of roughly uniform values

Ya que un espacio de características se puede subdividir en regiones arbitrariamente pequeñas, es fácil imaginar dividirlo lo suficiente como para tener un punto de datos por región.Because a feature space can be subdivided into arbitrarily small regions, it's easy to imagine dividing it finely enough to have one data point per region. Se trata de un ejemplo extremo de sobreajuste.This is an extreme example of overfitting. Para evitar esto, se genera un conjunto grande de árboles con precisión matemática para garantizar que los árboles no se correlacionen.In order to avoid this, a large set of trees are constructed with special mathematical care taken to ensure the trees are not correlated. El resultado promedio de este "bosque de decisión" es un árbol que evita el sobreajuste.The average of this "decision forest" is a tree that avoids overfitting. Los bosques de decisión pueden llegar a usar demasiada memoria.Decision forests can use a lot of memory. Las selvas de decisión son una variante que consume menos memoria a costa de un tiempo de entrenamiento ligeramente más prolongado.Decision jungles are a variant that consumes less memory at the expense of a slightly longer training time.

Los árboles de decisión impulsados evitan el sobreajuste al limitar la cantidad de veces que pueden subdividir y la cantidad de puntos de datos que se permiten en cada región.Boosted decision trees avoid overfitting by limiting how many times they can subdivide and how few data points are allowed in each region. El algoritmo genera una secuencia de árboles, cada uno de los cuales aprende a compensar el error que deja el árbol anterior.The algorithm constructs a sequence of trees, each of which learns to compensate for the error left by the tree before. El resultado es un lector muy preciso que tiende a usar una gran cantidad de memoria.The result is a very accurate learner that tends to use a lot of memory. Para obtener la descripción técnica completa, vea el documento original de Friedman.For the full technical description, check out Friedman's original paper.

La regresión rápida de bosque por cuantiles es una variación de los árboles de decisión para los casos especiales en los que se desea conocer no solo el valor típico (medio) de los datos dentro de una región, sino también su distribución en forma de cuantiles.Fast forest quantile regression is a variation of decision trees for the special case where you want to know not only the typical (median) value of the data within a region, but also its distribution in the form of quantiles.

Redes neuronales y perceptronesNeural networks and perceptrons

Las redes neuronales son algoritmos de aprendizaje inspirados en el cerebro que abarcan problemas multiclase, de dos clases y de regresión.Neural networks are brain-inspired learning algorithms covering multiclass, two-class, and regression problems. Vienen en una variedad infinita, pero las redes neuronales de Azure Machine Learning Studio tienen todas la forma de gráficos acíclicos dirigidos.They come in an infinite variety, but the neural networks within Azure Machine Learning Studio are all of the form of directed acyclic graphs. Esto significa que las características de entrada se adelantan (nunca se atrasan) en una secuencia de capas antes convertirse en salidas.That means that input features are passed forward (never backward) through a sequence of layers before being turned into outputs. En cada capa, las entradas se ponderan en varias combinaciones, se suman y se pasan a la siguiente capa.In each layer, inputs are weighted in various combinations, summed, and passed on to the next layer. Esta combinación de cálculos sencillos da como resultado la capacidad de aprender límites de clase y tendencias de datos sofisticados, casi como por arte de magia.This combination of simple calculations results in the ability to learn sophisticated class boundaries and data trends, seemingly by magic. Las redes de varias capas de este tipo realizan el "aprendizaje profundo" que hace posibles los informes de tecnología y la ciencia ficción.Many-layered networks of this sort perform the "deep learning" that fuels so much tech reporting and science fiction.

Sin embargo, el alto rendimiento no es gratuito.This high performance doesn't come for free, though. Las redes neuronales pueden tardar mucho tiempo para entrenarse, especialmente para grandes conjuntos de datos con muchas características.Neural networks can take a long time to train, particularly for large data sets with lots of features. También tienen más parámetros que la mayoría de los algoritmos, lo que implica que el barrido de parámetros alargue mucho el tiempo de entrenamiento.They also have more parameters than most algorithms, which means that parameter sweeping expands the training time a great deal. Para los que quieren obtener resultados óptimos y especificar su propia estructura de red, las posibilidades son inagotables.And for those overachievers who wish to specify their own network structure, the possibilities are inexhaustible.

Límites aprendidos por las redes neuronales

Los límites que aprenden las redes neuronales pueden ser complejos e irregularesThe boundaries learned by neural networks can be complex and irregular

El perceptrón promedio de dos clases es la respuesta de las redes neuronales para acortar en gran medida los tiempos de entrenamiento.The two-class averaged perceptron is neural networks' answer to skyrocketing training times. Este perceptrón usa una estructura de red que proporciona límites de clase lineal.It uses a network structure that gives linear class boundaries. Es casi primitivo según los estándares actuales, pero tiene un largo historial de trabajo sólido y es lo suficientemente pequeño como para aprender rápidamente.It is almost primitive by today's standards, but it has a long history of working robustly and is small enough to learn quickly.

SVMSVMs

Las máquinas de vectores de soporte (SVM) buscan el límite que separa las clases con el mayor margen posible.Support vector machines (SVMs) find the boundary that separates classes by as wide a margin as possible. Cuando no se pueden separar bien las dos clases, los algoritmos buscan el mejor límite que pueden.When the two classes can't be clearly separated, the algorithms find the best boundary they can. Tal como está escrito en Azure Machine Learning Studio, la SVM de dos clases hace esto solo con una línea recta (en el idioma de SVM, usa un kernel lineal).As written in Azure Machine Learning Studio, the two-class SVM does this with a straight line only (in SVM-speak, it uses a linear kernel). Gracias a que hace esta aproximación lineal, se puede ejecutar con bastante rapidez.Because it makes this linear approximation, it is able to run fairly quickly. Donde realmente se destaca es con datos de muchas características, como texto o datos genómicos.Where it really shines is with feature-intense data, like text or genomic data. En estos casos, las SVM pueden separar las clases más rápidamente y con menos sobreajuste que con la mayoría de los otros algoritmos, además de que requieren solo una pequeña cantidad de memoria.In these cases SVMs are able to separate classes more quickly and with less overfitting than most other algorithms, in addition to requiring only a modest amount of memory.

Límite de clase de máquina de vectores de soporte

Un límite de clase de máquina de vectores de soporte maximiza el margen que separa las dos clasesA typical support vector machine class boundary maximizes the margin separating two classes

Como otro producto de Microsoft Research, la SVM de dos clases localmente profunda es una variante no lineal de SVM que mantiene casi toda la velocidad y la eficiencia de memoria de la versión lineal.Another product of Microsoft Research, the two-class locally deep SVM is a non-linear variant of SVM that retains most of the speed and memory efficiency of the linear version. Es ideal para los casos en los que el enfoque lineal no proporciona respuestas suficientemente precisas.It is ideal for cases where the linear approach doesn't give accurate enough answers. Para mantener su velocidad, los desarrolladores dividieron el problema en un grupo de pequeños problemas de SVM lineales.The developers kept it fast by breaking down the problem into a number of small linear SVM problems. Lea la descripción completa para obtener detalles sobre cómo lograron este truco.Read the full description for the details on how they pulled off this trick.

Mediante una extensión inteligente de SVM no lineales, la SVM de una clase dibuja un límite que demarca con precisión todo el conjunto de datos.Using a clever extension of nonlinear SVMs, the one-class SVM draws a boundary that tightly outlines the entire data set. Es útil para la detección de anomalías.It is useful for anomaly detection. Los puntos de datos nuevos que quedan fuera de ese límite son tan poco habituales que requieren atención.Any new data points that fall far outside that boundary are unusual enough to be noteworthy.

Métodos bayesianosBayesian methods

Los métodos bayesianos tienen una calidad muy deseable: evitan el sobreajuste.Bayesian methods have a highly desirable quality: they avoid overfitting. Para ello, hacen algunas suposiciones anticipadas sobre la posible distribución de la respuesta.They do this by making some assumptions beforehand about the likely distribution of the answer. Otra característica de este enfoque es que tienen muy pocos parámetros.Another byproduct of this approach is that they have very few parameters. Azure Machine Learning Studio tiene dos algoritmos bayesianos tanto para la clasificación (automática de puntos de Bayes de dos clases) como para la regresión (regresión lineal bayesiana).Azure Machine Learning Studio has Bayesian algorithms for both classification (Two-class Bayes' point machine) and regression (Bayesian linear regression). Tenga en cuenta que se asume que los datos se pueden dividir o encajan en una línea recta.Note that these assume that the data can be split or fit with a straight line.

Como nota histórica, se desarrollaron las máquinas de puntos de Bayes en Microsoft Research.On a historical note, Bayes' point machines were developed at Microsoft Research. Presentan un trabajo teórico excepcional.They have some exceptionally beautiful theoretical work behind them. Al alumno interesado se le dirige al artículo original de JMLR y a un blog revelador de Chris Bishop.The interested student is directed to the original article in JMLR and an insightful blog by Chris Bishop.

Algoritmos especializadosSpecialized algorithms

Si tiene un objetivo muy específico, puede que sea su día de suerte.If you have a very specific goal you may be in luck. Dentro de la colección de Azure Machine Learning Studio, existen algoritmos que se especializan en:Within the Azure Machine Learning Studio collection, there are algorithms that specialize in:

Detección de anomalías basada en PCA

Detección de anomalías basada en PCA : la inmensa mayoría de los datos entra en una distribución típica; los puntos que se desvían mucho de esa distribución son sospechososPCA-based anomaly detection - the vast majority of the data falls into a stereotypical distribution; points deviating dramatically from that distribution are suspect

Conjunto de datos agrupados mediante K-Means

Un conjunto de datos se agrupa en 5 clústeres mediante K-MeansA data set is grouped into five clusters using K-means

También hay un clasificador multiclase uno contra todosque divide el problema de clasificación de clase N en problemas de clasificación de dos clases N-1.There is also an ensemble one-v-all multiclass classifier, which breaks the N-class classification problem into N-1 two-class classification problems. La precisión, el tiempo de entrenamiento y las propiedades de linealidad se determinan con los clasificadores de dos clases que se usan.The accuracy, training time, and linearity properties are determined by the two-class classifiers used.

Clasificadores de dos clases combinados para formar un clasificador de tres clases

Un par de clasificadores de dos clases se combinan para formar un clasificador de tres clasesA pair of two-class classifiers combine to form a three-class classifier

Azure Machine Learning Studio también incluye acceso a un marco de Machine Learning eficaz con el título Vowpal Wabbit.Azure Machine Learning Studio also includes access to a powerful machine learning framework under the title of Vowpal Wabbit. VW es un reto a la categorización, ya que puede aprender problemas tanto de clasificación como de regresión, e incluso puede aprender a partir de datos parcialmente etiquetados.VW defies categorization here, since it can learn both classification and regression problems and can even learn from partially unlabeled data. Puede configurarlo para usar algoritmos de aprendizaje, funciones de pérdida y algoritmos de optimización.You can configure it to use any one of a number of learning algorithms, loss functions, and optimization algorithms. Está totalmente diseñado para ser eficiente, paralelo y extremadamente rápido.It was designed from the ground up to be efficient, parallel, and extremely fast. Administra enormes conjuntos de características con mucha facilidad.It handles ridiculously large feature sets with little apparent effort. VW, iniciado y liderado por el propio John Langford de Microsoft Research, es una entrada de Fórmula Uno en un campo de algoritmos de coches de línea.Started and led by Microsoft Research's own John Langford, VW is a Formula One entry in a field of stock car algorithms. No todos los problemas se adaptan a VW, pero si el suyo lo hace, es posible que valga la pena que aumente la curva de aprendizaje en esa interfaz.Not every problem fits VW, but if yours does, it may be worth your while to climb the learning curve on its interface. También está disponible como código fuente abierto independiente en varios idiomas.It's also available as stand-alone open source code in several languages.

Pasos siguientesNext Steps

  • Para descargar una introducción infográfica fácil de comprender sobre conceptos básicos de aprendizaje automático para obtener información acerca de los algoritmos populares utilizados para responder a preguntas comunes sobre el aprendizaje automático, consulte Conceptos básicos de aprendizaje automático con ejemplos de algoritmos.To download an easy-to-understand infographic overview of machine learning basics to learn about popular algorithms used to answer common machine learning questions, see Machine learning basics with algorithm examples.

  • Para ver una lista por categoría de todos los algoritmos disponibles de aprendizaje automático en Machine Learning Studio, consulte Inicializar modelo en la Ayuda de módulos y algoritmos de Machine Learning Studio.For a list by category of all the machine learning algorithms available in Machine Learning Studio, see Initialize Model in the Machine Learning Studio Algorithm and Module Help.

  • Para ver una lista completa de todos los algoritmos de Machine Learning Studio, consulte A-Z list of Machine Learning Studio modules (Lista de la A a la Z de módulos de Machine Learning Studio) en la Ayuda de módulos y algoritmos de Machine Learning Studio.For a complete alphabetical list of algorithms and modules in Machine Learning Studio, see A-Z list of Machine Learning Studio modules in Machine Learning Studio Algorithm and Module Help.