Azure Machine Learning에 대 한 알고리즘을 선택 하는 방법How to select algorithms for Azure Machine Learning

일반적인 질문은 "어떤 기계 학습 알고리즘을 사용 해야 하나요?"입니다.A common question is “Which machine learning algorithm should I use?” 선택 하는 알고리즘은 주로 데이터 과학 시나리오의 두 가지 서로 다른 측면에 따라 다릅니다.The algorithm you select depends primarily on two different aspects of your data science scenario:

  • 데이터를 사용 하 여 할 일은 무엇 인가요?What you want to do with your data? 특히 과거 데이터를 학습 하 여 답변할 비즈니스 질문은 무엇 인가요?Specifically, what is the business question you want to answer by learning from your past data?

  • 데이터 과학 시나리오의 요구 사항은 무엇 인가요?What are the requirements of your data science scenario? 특히 정확도, 학습 시간, 선형, 매개 변수 수 및 솔루션에서 지 원하는 기능 수는 무엇 인가요?Specifically, what is the accuracy, training time, linearity, number of parameters, and number of features your solution supports?

알고리즘 선택 시 고려 사항: 알아야 할 사항

비즈니스 시나리오 및 Machine Learning 알고리즘 참고 자료 시트Business scenarios and the Machine Learning Algorithm Cheat Sheet

Azure Machine Learning Algorithm 참고 자료 시트 를 사용 하면 데이터를 사용 하 여 수행할 작업을첫 번째로 고려 하 여 수행할 수 있습니다.The Azure Machine Learning Algorithm Cheat Sheet helps you with the first consideration: What you want to do with your data? Machine Learning Algorithm 참고 자료 시트에서 수행 하려는 작업을 찾은 다음 예측 분석 솔루션에 대 한 Azure Machine Learning 디자이너 알고리즘을 찾습니다.On the Machine Learning Algorithm Cheat Sheet, look for task you want to do, and then find a Azure Machine Learning designer algorithm for the predictive analytics solution.

Machine Learning designer는 다중 클래스 의사 결정 포리스트, 권장 사항 시스템, 신경망 회귀, 다중 클래스 신경망K = 클러스터링 이라는포괄적인 알고리즘 포트폴리오를 제공 합니다.Machine Learning designer provides a comprehensive portfolio of algorithms, such as Multiclass Decision Forest, Recommendation systems, Neural Network Regression, Multiclass Neural Network, and K-Means Clustering. 각 알고리즘은 다른 유형의 기계 학습 문제를 해결 하도록 설계 되었습니다.Each algorithm is designed to address a different type of machine learning problem. 각 알고리즘의 작동 방식 및 알고리즘을 최적화 하는 매개 변수를 조정 하는 방법에 대 한 설명서와 함께 전체 목록은 Machine Learning 디자이너 알고리즘 및 모듈 참조 를 참조 하세요.See the Machine Learning designer algorithm and module reference for a complete list along with documentation about how each algorithm works and how to tune parameters to optimize the algorithm.

참고

Machine learning 알고리즘 참고 자료 시트를 다운로드 하려면 Azure machine learning 알고리즘 참고 자료 시트로이동 합니다.To download the machine learning algorithm cheat sheet, go to Azure Machine learning algorithm cheat sheet.

Azure Machine Learning Algorithm 참고 자료 시트의 지침과 함께 솔루션에 대 한 기계 학습 알고리즘을 선택할 때 다른 요구 사항을 염두에 두어야 합니다.Along with guidance in the Azure Machine Learning Algorithm Cheat Sheet, keep in mind other requirements when choosing a machine learning algorithm for your solution. 다음은 정확도, 학습 시간, 선형, 매개 변수 개수 및 기능 수와 같은 고려해 야 할 추가 요소입니다.Following are additional factors to consider, such as the accuracy, training time, linearity, number of parameters and number of features.

기계 학습 알고리즘 비교Comparison of machine learning algorithms

일부 학습 알고리즘에서는 데이터 구조 또는 원하는 결과에 대해 특수한 가정을 합니다.Some learning algorithms make particular assumptions about the structure of the data or the desired results. 사용자 요구에 적합한 것을 찾을 수 있는 경우 보다 유용한 결과, 보다 정확한 예측 또는 단축된 교육 시간을 제공할 수 있습니다.If you can find one that fits your needs, it can give you more useful results, more accurate predictions, or faster training times.

다음 표에는 분류, 회귀 및 클러스터링 제품군에서 알고리즘의 가장 중요 한 특성이 요약 되어 있습니다.The following table summarizes some of the most important characteristics of algorithms from the classification, regression, and clustering families:

알고리즘Algorithm 높아집니다Accuracy 학습 시간Training time 선형성Linearity 매개 변수Parameters 참고 사항Notes
분류 패밀리Classification family
2 클래스 로지스틱 회귀Two-Class logistic regression 좋음Good FastFast Yes 44
2 클래스 의사 결정 포리스트Two-class decision forest 최고Excellent 보통Moderate No 55 더 느린 점수 매기기 시간을 표시 합니다.Shows slower scoring times. 누적 트리 예측의 디 어 지 잠금으로 인 한 더 느린 점수 매기기 시간 때문에 일대다 다중 클래스를 사용 하지 않는 것이 좋습니다.Suggest not working with One-vs-All Multiclass, because of slower scoring times caused by tread locking in accumulating tree predictions
2 클래스 승격 된 의사 결정 트리Two-class boosted decision tree 최고Excellent 보통Moderate No 66 큰 메모리 공간Large memory footprint
2 클래스 신경망Two-class neural network 좋음Good 보통Moderate No 88
2 클래스 평균 퍼셉트론Two-class averaged perceptron 좋음Good 보통Moderate Yes 44
2 클래스 지원 벡터 컴퓨터Two-class support vector machine 좋음Good FastFast Yes 55 큰 기능 집합의 적합Good for large feature sets
다중 클래스 로지스틱 회귀Multiclass logistic regression 좋음Good FastFast Yes 44
다중 클래스 의사 결정 포리스트Multiclass decision forest 최고Excellent 보통Moderate No 55 더 느린 점수 매기기 시간 표시Shows slower scoring times
다중 클래스 승격 된 의사 결정 트리Multiclass boosted decision tree 최고Excellent 보통Moderate No 66 적용 범위가 적은 몇 가지 위험으로 정확도를 향상 시키는 경향이 있습니다.Tends to improve accuracy with some small risk of less coverage
다중 클래스 신경망Multiclass neural network 좋음Good 보통Moderate No 88
One-vs-all 다중 클래스One-vs-all multiclass - - - - 선택된 2클래스 메서드의 속성을 참조하세요.See properties of the two-class method selected
회귀 제품군Regression family
선형 회귀Linear regression 좋음Good FastFast Yes 44
의사 결정 포리스트 회귀Decision forest regression 최고Excellent 보통Moderate No 55
승격 된 의사 결정 트리 회귀Boosted decision tree regression 최고Excellent 보통Moderate No 66 큰 메모리 공간Large memory footprint
신경망 회귀Neural network regression 좋음Good 보통Moderate No 88
클러스터링 제품군Clustering family
K-클러스터링을 의미 합니다.K-means clustering 최고Excellent 보통Moderate Yes 88 클러스터링 알고리즘A clustering algorithm

데이터 과학 시나리오에 대 한 요구 사항Requirements for a data science scenario

데이터를 사용 하 여 수행할 작업을 확인 한 후에는 솔루션에 대 한 추가 요구 사항을 확인 해야 합니다.Once you know what you want to do with your data, you need to determine additional requirements for your solution.

다음 요구 사항에 대 한 선택 및 장단점을 결정 합니다.Make choices and possibly trade-offs for the following requirements:

  • 정확도Accuracy
  • 학습 시간Training time
  • 선형성Linearity
  • 매개 변수 수Number of parameters
  • 기능 수Number of features

정확도Accuracy

기계 학습의 정확도는 전체 사례에 대 한 실제 결과의 비율로 모델의 효율성을 측정 합니다.Accuracy in machine learning measures the effectiveness of a model as the proportion of true results to total cases. Machine Learning 디자이너에서 모델 평가 모듈 은 산업 표준 평가 메트릭 집합을 계산 합니다.In Machine Learning designer, the Evaluate Model module computes a set of industry-standard evaluation metrics. 이 모듈을 사용 하 여 학습 된 모델의 정확도를 측정할 수 있습니다.You can use this module to measure the accuracy of a trained model.

최대한 정확한 답을 얻는 것은 항상 필요한 것은 아닙니다.Getting the most accurate answer possible isn’t always necessary. 용도에 따라 근사치가 적절한 경우도 있습니다.Sometimes an approximation is adequate, depending on what you want to use it for. 이 경우 더 근접 한 방법을 사용 하 여 처리 시간을 크게 줄일 수 있습니다.If that is the case, you may be able to cut your processing time dramatically by sticking with more approximate methods. 또한 대략적인 방법은 자연스럽 게 과잉 맞춤을 방지 하는 경향이 있습니다.Approximate methods also naturally tend to avoid overfitting.

모델 평가 모듈을 사용 하는 방법에는 세 가지가 있습니다.There are three ways to use the Evaluate Model module:

  • 모델을 평가 하기 위해 학습 데이터에 대 한 점수 생성Generate scores over your training data in order to evaluate the model
  • 모델에 점수를 생성 하지만 이러한 점수를 예약 된 테스트 집합의 점수와 비교 합니다.Generate scores on the model, but compare those scores to scores on a reserved testing set
  • 동일한 데이터 집합을 사용 하 여 서로 다른 두 개의 관련 모델에 대 한 점수를 비교 합니다.Compare scores for two different but related models, using the same set of data

기계 학습 모델의 정확도를 평가 하는 데 사용할 수 있는 메트릭 및 방법의 전체 목록은 모델 평가 모듈을 참조 하세요.For a complete list of metrics and approaches you can use to evaluate the accuracy of machine learning models, see Evaluate Model module.

학습 시간Training time

감독 학습에서 교육은 기록 데이터를 사용 하 여 오류를 최소화 하는 기계 학습 모델을 작성 하는 것을 의미 합니다.In supervised learning, training means using historical data to build a machine learning model that minimizes errors. 모델을 학습하는 데 필요한 시간 또는 분은 알고리즘에 따라 크게 다릅니다.The number of minutes or hours necessary to train a model varies a great deal between algorithms. 학습 시간은 종종 정확도와 밀접 하 게 연관 되어 있습니다. 하나는 일반적으로 다른 항목과 함께 제공 됩니다.Training time is often closely tied to accuracy; one typically accompanies the other.

또한 일부 알고리즘은 다른 항목보다 데이터 요소 수에 보다 민감합니다.In addition, some algorithms are more sensitive to the number of data points than others. 특히 데이터 집합이 큰 경우 시간 제한이 있기 때문에 특정 알고리즘을 선택할 수 있습니다.You might choose a specific algorithm because you have a time limitation, especially when the data set is large.

Machine Learning 디자이너에서 기계 학습 모델을 만들고 사용 하는 과정은 일반적으로 다음 세 단계로 진행 됩니다.In Machine Learning designer, creating and using a machine learning model is typically a three-step process:

  1. 특정 알고리즘 유형을 선택한 다음 매개 변수 또는 하이퍼 매개 변수를 정의 하 여 모델을 구성 합니다.Configure a model, by choosing a particular type of algorithm, and then defining its parameters or hyperparameters.

  2. 레이블이 지정 되 고 알고리즘과 호환 되는 데이터를 포함 하는 데이터 집합을 제공 합니다.Provide a dataset that is labeled and has data compatible with the algorithm. 데이터와 모델을 모두 연결 하 여 모델 학습 모듈을 학습합니다.Connect both the data and the model to Train Model module.

  3. 학습을 완료 한 후 점수 매기기 모듈 중 하나를 사용 하 여 학습 된 모델을 사용 하 여 새 데이터에 대 한 예측을 만듭니다.After training is completed, use the trained model with one of the scoring modules to make predictions on new data.

선형성Linearity

통계 및 기계 학습의 선형은 데이터 집합의 변수와 상수 간에 선형 관계가 있음을 의미 합니다.Linearity in statistics and machine learning means that there is a linear relationship between a variable and a constant in your dataset. 예를 들어 선형 분류 알고리즘은 클래스를 직선 (또는 더 높은 차원의 아날로그)으로 구분할 수 있다고 가정 합니다.For example, linear classification algorithms assume that classes can be separated by a straight line (or its higher-dimensional analog).

많은 기계 학습 알고리즘에서 선형성을 활용합니다.Lots of machine learning algorithms make use of linearity. Azure Machine Learning 디자이너에는 다음이 포함 됩니다.In Azure Machine Learning designer, they include:

선형 회귀 알고리즘은 데이터가 직선을 따르는 경향이 있다고 가정합니다.Linear regression algorithms assume that data trends follow a straight line. 이러한 가정은 일부 문제에 대해서는 나쁘지 않지만 다른 경우에는 정확도가 떨어집니다.This assumption isn't bad for some problems, but for others it reduces accuracy. 단점에도 불구 하 고 선형 알고리즘은 첫 번째 전략으로 널리 사용 됩니다.Despite their drawbacks, linear algorithms are popular as a first strategy. 알고리즘 방식으로 간단하고 학습 시간이 빠른 경향이 있습니다.They tend to be algorithmically simple and fast to train.

비선형 클래스 경계

비선형 클래스 경계: 선형 분류 알고리즘을 이용 하면 정확도가 낮아집니다.Nonlinear class boundary: Relying on a linear classification algorithm would result in low accuracy.

비선형 추세 반영 데이터

비선형 추세를 포함하는 데이터: 선형 회귀 방법을 사용 하면 필요한 것 보다 훨씬 큰 오류가 생성 됩니다.Data with a nonlinear trend: Using a linear regression method would generate much larger errors than necessary.

매개 변수 수Number of parameters

매개 변수는 데이터 과학자가 알고리즘을 설정할 때 전환하기 위한 노브입니다.Parameters are the knobs a data scientist gets to turn when setting up an algorithm. 이는 오류 허용 여부, 반복 횟수 등 알고리즘의 동작에 영향을 주는 숫자 이거나 알고리즘이 동작 하는 방법의 변형 사이에 있는 옵션입니다.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. 알고리즘의 학습 시간 및 정확도는 적절 한 설정에만 영향을 받는 경우가 있습니다.The training time and accuracy of the algorithm can sometimes be sensitive to getting just the right settings. 일반적으로 많은 수의 매개 변수를 포함 하는 알고리즘에서는 가장 많은 평가판 및 오류가 발생 하므로 좋은 조합을 찾을 수 있습니다.Typically, algorithms with large numbers of parameters require the most trial and error to find a good combination.

또는 Machine Learning 디자이너에 모델 하이퍼 매개 변수 조정 모듈이 있습니다 .이 모듈의 목표는 기계 학습 모델에 대 한 최적의 하이퍼 매개 변수를 결정 하는 것입니다.Alternatively, there is the Tune Model Hyperparameters module in Machine Learning designer: The goal of this module is to determine the optimum hyperparameters for a machine learning model. 모듈은 다양 한 설정 조합을 사용 하 여 여러 모델을 작성 하 고 테스트 합니다.The module builds and tests multiple models by using different combinations of settings. 모든 모델에 대 한 메트릭을 비교 하 여 설정의 조합을 가져옵니다.It compares metrics over all models to get the combinations of settings.

이 방법은 매개 변수 공간을 확장 하는 좋은 방법 이지만 모델을 학습 하는 데 필요한 시간은 매개 변수 수를 사용 하 여 급격 하 게 늘어납니다.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. 장점은 일반적으로 매개 변수를 많이 포함할수록 알고리즘의 유연성이 향상된다는 것입니다.The upside is that having many parameters typically indicates that an algorithm has greater flexibility. 매개 변수 설정의 올바른 조합을 찾을 수 있다면 매우 좋은 정확도를 얻을 수 있는 경우가 많습니다.It can often achieve very good accuracy, provided you can find the right combination of parameter settings.

기능 수Number of features

기계 학습에서 기능은 분석 하려는 현상을 측정 하는 변수입니다.In machine learning, a feature is a quantifiable variable of the phenomenon you are trying to analyze. 특정 데이터 형식의 경우 데이터 요소에 비해 기능 수가 매우 클 수 있습니다.For certain types of data, the number of features can be very large compared to the number of data points. 보통 genetics 또는 텍스트 데이터가 그렇습니다.This is often the case with genetics or textual data.

많은 기능을 통해 학습 시간을 unfeasibly 빠뜨릴 수 있습니다.A large number of features can bog down some learning algorithms, making training time unfeasibly long. 지원 벡터 컴퓨터 는 기능이 많은 시나리오에 특히 적합 합니다.Support vector machines are particularly well suited to scenarios with a high number of features. 이러한 이유로 대부분의 응용 프로그램에서는 텍스트 및 이미지 분류에 대 한 정보 검색에서 사용 되었습니다.For this reason, they have been used in many applications from information retrieval to text and image classification. 지원 벡터 컴퓨터는 분류 및 회귀 작업 모두에 사용할 수 있습니다.Support vector machines can be used for both classification and regression tasks.

지정 된 출력의 경우 기능 선택은 입력에 통계 테스트를 적용 하는 프로세스를 의미 합니다.Feature selection refers to the process of applying statistical tests to inputs, given a specified output. 목표는 출력의 예측 가능성이 더 높은 열을 결정 하는 것입니다.The goal is to determine which columns are more predictive of the output. Machine Learning 디자이너의 필터 기반 기능 선택 모듈 은 선택할 수 있는 여러 기능 선택 알고리즘을 제공 합니다.The Filter Based Feature Selection module in Machine Learning designer provides multiple feature selection algorithms to choose from. 모듈에는 피어슨 상관 관계 및 카이 제곱 값과 같은 상관 관계 메서드가 포함 되어 있습니다.The module includes correlation methods such as Pearson correlation and chi-squared values.

또한 순열 기능 중요도 모듈 을 사용 하 여 데이터 집합에 대 한 기능 중요도 점수 집합을 계산할 수 있습니다.You can also use the Permutation Feature Importance module to compute a set of feature importance scores for your dataset. 그런 다음 이러한 점수를 활용 하 여 모델에서 사용 하기에 가장 적합 한 기능을 결정 하는 데 도움을 줍니다.You can then leverage these scores to help you determine the best features to use in a model.

다음 단계Next steps