머신러닝 분야에 "세상에 공짜 점심은 없다"라는 말이 있습니다. 간단히 말해서 어떤 알고리즘도 모든 문제에 가장 좋은 효과를 줄 수는 없다는 뜻입니다. 이 이론은 지도 학습 측면에서 특히 그렇습니다. 중요한.
예를 들어, 신경망이 항상 의사결정 트리보다 낫다고 말할 수 없으며 그 반대도 마찬가지입니다. 모델 실행은 데이터 세트의 크기 및 구조와 같은 여러 요소의 영향을 받습니다.
따라서 문제에 따라 다양한 알고리즘을 시도하는 동시에 테스트 데이터 세트를 사용하여 성능을 평가하고 가장 좋은 알고리즘을 선택해야 합니다.
물론, 시도하는 알고리즘은 문제와 관련이 있어야 하며, 핵심은 머신러닝의 주요 작업입니다. 예를 들어, 집을 청소하고 싶다면 진공청소기나 빗자루, 대걸레를 사용할 수도 있지만 삽을 들고 구멍을 파기 시작하지는 않을 것입니다.
기계 학습의 기본을 이해하고 싶어하는 기계 학습 초보자를 위해 데이터 과학자가 사용하는 상위 10가지 기계 학습 알고리즘을 소개하여 모든 사람이 더 잘 이해하고 적용할 수 있도록 이러한 상위 10개 알고리즘의 특징을 소개합니다. .어서 보자.
선형 회귀는 아마도 통계 및 기계 학습 분야에서 가장 잘 알려지고 이해하기 쉬운 알고리즘 중 하나일 것입니다.
예측 모델링은 주로 모델의 오류를 최소화하거나 해석 가능성을 희생하면서 가장 정확한 예측을 하는 것과 관련이 있기 때문입니다. 우리는 다양한 분야의 알고리즘을 빌리고, 재사용하고, 훔치고, 일부 통계 지식도 포함합니다.
선형 회귀는 입력 변수의 비중(B)을 찾아 입력 변수(x)와 출력 변수(y) 사이의 선형 관계를 설명하는 방정식으로 표현됩니다.
선형 회귀
입력 x가 주어지면 y를 예측할 것입니다. 선형 회귀 학습 알고리즘의 목표는 계수 B0과 계수의 값을 찾는 것입니다. B1.
선형 회귀 모델은 보통 최소 제곱법 및 경사하강법 최적화를 위한 선형 대수 솔루션과 같은 다양한 기술을 사용하여 데이터에서 학습할 수 있습니다.
선형 회귀는 200년 넘게 사용되어 왔으며 광범위하게 연구되어 왔습니다. 이 기술을 사용할 때의 몇 가지 경험 법칙은 매우 유사한(상관된) 변수를 제거하고 가능하면 데이터에서 노이즈를 제거하는 것입니다. 이는 빠르고 간단한 기술이자 좋은 첫 번째 알고리즘입니다.
로지스틱 회귀는 머신러닝이 통계 분야에서 차용한 또 다른 기술입니다. 이는 이진 분류 문제(두 클래스 값이 있는 문제)에 대한 특화된 방법입니다.
로지스틱 회귀는 각 입력 변수의 가중치 값을 찾는 것이 목표라는 점에서 선형 회귀와 유사합니다. 선형 회귀와 달리 출력의 예측 값은 로지스틱 함수라는 비선형 함수를 사용하여 변환됩니다.
로지스틱 함수는 큰 S처럼 보이며 모든 값을 0에서 1 사이의 범위로 변환합니다. 이는 로지스틱 함수의 출력에 해당 규칙을 적용하고 값을 0과 1로 분류하고(예: IF가 0.5보다 작으면 1을 출력) 클래스 값을 예측할 수 있기 때문에 유용합니다.
로지스틱 회귀
모델의 독특한 학습 방식으로 인해 로지스틱 회귀를 통해 얻은 예측을 클래스 0 또는 클래스 1에 속할 확률을 계산하는 데에도 사용할 수 있습니다. 이는 많은 이론적 근거가 필요한 문제에 유용합니다.
선형 회귀와 마찬가지로 로지스틱 회귀도 출력 변수와 관련이 없는 속성과 서로 매우 유사한(상관) 속성을 제거하면 더 잘 작동합니다. 이진 분류 문제를 빠르게 학습하고 효과적으로 처리하는 모델입니다.
기존 로지스틱 회귀 분석은 이진 분류 문제로 제한됩니다. 클래스가 3개 이상인 경우 LDA(선형 판별 분석)가 선호되는 선형 분류 기술입니다.
LDA의 표현은 매우 간단합니다. 이는 각 카테고리를 기반으로 계산된 데이터의 통계적 속성으로 구성됩니다. 단일 입력 변수의 경우 여기에는 다음이 포함됩니다.
각 범주의 평균 값.
모든 카테고리에 걸쳐 차이가 계산됩니다.
선형 판별 분석
LDA는 각 클래스의 판별 값을 계산하고 최대값을 갖는 클래스를 예측하는 방식으로 수행됩니다. 이 기술은 데이터에 가우스 분포(종형 곡선)가 있다고 가정하므로 먼저 데이터에서 이상값을 수동으로 제거하는 것이 가장 좋습니다. 이는 분류 예측 모델링 문제에 대한 간단하면서도 강력한 접근 방식입니다.
결정 트리는 기계 학습에 중요한 알고리즘입니다.
의사결정 트리 모델은 이진 트리로 표현될 수 있습니다. 예, 알고리즘과 데이터 구조의 이진 트리이며 특별한 것은 없습니다. 각 노드는 단일 입력 변수(x)와 해당 변수의 왼쪽 및 오른쪽 자식을 나타냅니다(변수가 숫자라고 가정).
결정 트리
트리의 리프 노드에는 예측에 사용되는 출력 변수(y)가 포함되어 있습니다. 예측은 트리를 순회하다가 특정 리프 노드에 도달하면 멈추고 리프 노드의 클래스 값을 출력하는 방식으로 수행됩니다.
결정 트리는 학습 속도와 예측 속도가 빠릅니다. 많은 문제에 대해 예측이 정확한 경우가 많으므로 데이터를 특별히 준비할 필요가 없습니다.
Naive Bayes는 간단하지만 매우 강력한 예측 모델링 알고리즘입니다.
모델은 훈련 데이터에서 직접 계산할 수 있는 두 가지 유형의 확률로 구성됩니다. 1) 각 클래스의 확률 2) 각 x 값이 주어진 클래스의 조건부 확률. 계산이 완료되면 확률 모델을 사용하여 베이즈 정리를 사용하여 새로운 데이터를 예측할 수 있습니다. 데이터가 숫자인 경우 이러한 확률을 쉽게 추정할 수 있도록 가우스 분포(종형 곡선)를 가정하는 것이 일반적입니다.
Bayes Theorem
Naive Bayes를 naive라고 부르는 이유는 각 입력 변수가 독립적이라고 가정하기 때문입니다. 이는 실제 데이터에 대해서는 비현실적인 강력한 가정이지만 이 기술은 대규모의 복잡한 문제에는 여전히 매우 효과적입니다.
KNN 알고리즘은 매우 간단하고 효과적입니다. KNN의 모델은 전체 학습 데이터 세트로 표현됩니다. 아주 간단하지 않나요?
전체 훈련 세트에서 K개의 가장 유사한 인스턴스(이웃)를 검색하고 이러한 K개의 인스턴스의 출력 변수를 요약하여 새로운 데이터 포인트를 예측합니다. 회귀 문제의 경우 새 포인트는 평균 출력 변수가 될 수 있고, 분류 문제의 경우 새 포인트는 모드 범주 값이 될 수 있습니다.
성공의 비결은 데이터 인스턴스 간의 유사성을 파악하는 데 있습니다. 속성이 모두 동일한 척도에 있는 경우 가장 쉬운 방법은 각 입력 변수 간의 차이에서 직접 계산할 수 있는 유클리드 거리를 사용하는 것입니다.
K-Nearest Neighbors
KNN은 모든 데이터를 저장하기 위해 많은 메모리나 공간이 필요할 수 있지만 예측이 필요할 때만 계산(또는 학습)을 수행합니다. 또한 예측 정확도를 유지하기 위해 언제든지 훈련 세트를 업데이트하고 관리할 수 있습니다.
고차원 환경(많은 수의 입력 변수)에서는 거리 또는 근접성의 개념이 무너져 알고리즘에 부정적인 영향을 미칠 수 있습니다. 이러한 사건을 차원 저주라고 합니다. 이는 또한 출력 변수를 예측하는 데 가장 관련성이 높은 입력 변수만 사용해야 함을 의미합니다.
K-최근접 이웃의 단점은 전체 훈련 데이터 세트를 유지해야 한다는 것입니다. 학습 벡터 양자화(또는 줄여서 LVQ)는 여러 훈련 인스턴스를 일시 중지하고 정확하게 학습할 수 있는 인공 신경망 알고리즘입니다.
벡터 양자화 학습
LVQ는 코드북 벡터 모음으로 표현됩니다. 벡터를 무작위로 선택하여 시작한 다음 훈련 데이터 세트에 맞게 여러 번 반복합니다. 학습 후 코드북 벡터는 K-최근접 이웃과 같은 예측에 사용될 수 있습니다. 각 코드북 벡터와 새로운 데이터 인스턴스 사이의 거리를 계산하여 가장 유사한 이웃(베스트 매치)을 찾은 다음, 가장 잘 매칭되는 단위의 클래스 값 또는 회귀의 경우 실제 값을 예측으로 반환합니다. 데이터를 동일한 범위(예: 0과 1 사이)로 제한하면 최상의 결과를 얻을 수 있습니다.
KNN이 데이터 세트에서 좋은 결과를 얻는다면 LVQ를 사용하여 전체 훈련 데이터 세트를 저장하는 데 필요한 메모리 요구 사항을 줄여보세요.
Support Vector Machine은 아마도 가장 인기 있고 논의되는 기계 학습 알고리즘 중 하나일 것입니다.
초평면은 입력 변수 공간을 나누는 선입니다. SVM에서는 범주(범주 0 또는 범주 1)에 따라 입력 변수 공간의 점을 구분하기 위해 초평면이 선택됩니다. 2차원 공간에서는 하나의 선으로 간주할 수 있으며, 모든 입력점은 이 선으로 완전히 분리될 수 있습니다. SVM 학습 알고리즘은 초평면이 범주를 가장 잘 분리할 수 있도록 하는 계수를 찾는 것입니다.
지원 벡터 머신
초평면과 가장 가까운 데이터 지점 사이의 거리를 경계라고 합니다. 경계가 가장 큰 초평면이 최선의 선택입니다. 동시에, 이러한 가까운 데이터 포인트만이 초평면 정의 및 분류기 구성과 관련되어 있으며 이러한 포인트를 서포트 벡터라고 하며 초평면을 지원하거나 정의합니다. 구체적인 실습에서는 최적화 알고리즘을 사용하여 경계를 최대화하는 계수 값을 찾습니다.
SVM은 아마도 가장 강력한 기본 분류기 중 하나이며 데이터세트에 시도해 볼 가치가 있습니다.
랜덤 포레스트는 가장 인기 있고 강력한 기계 학습 알고리즘 중 하나입니다. Bootstrap Aggregation 또는 Baging이라는 통합 기계 학습 알고리즘입니다.
Bootstrap은 데이터 샘플에서 평균과 같은 수량을 추정하는 데 사용되는 강력한 통계 방법입니다. 많은 수의 샘플 데이터를 가져와 평균을 계산한 다음 모든 평균을 평균하여 실제 평균의 보다 정확한 추정치를 얻습니다.
배깅에도 동일한 방법이 사용되지만 전체 통계 모델을 추정하는 대신 의사결정 트리가 가장 일반적으로 사용됩니다. 훈련 데이터를 다중 샘플링한 다음 각 데이터 샘플에 대한 모델을 구축합니다. 새 데이터에 대해 예측해야 하는 경우 각 모델은 예측을 수행하고 예측의 평균을 계산하여 실제 출력 값을 더 잘 추정합니다.
Random Forest
Random Forest는 최적의 분할 지점을 선택하는 대신 무작위성을 도입하여 차선의 분할을 달성하는 결정 트리를 조정합니다.
따라서 각 데이터 샘플에 대해 생성된 모델은 서로 더 다르지만 그 자체로는 여전히 정확합니다. 예측 결과를 결합하면 올바른 잠재적 출력 값을 더 잘 추정할 수 있습니다.
고분산 알고리즘(예: 의사결정 트리)을 사용하여 좋은 결과를 얻은 경우 이 알고리즘을 추가하면 더 나은 결과를 얻을 수 있습니다.
Boosting은 일부 약한 분류기에서 강력한 분류기를 생성하는 앙상블 기술입니다. 먼저 훈련 데이터로부터 모델을 구축한 다음 첫 번째 모델의 오류를 수정하기 위해 두 번째 모델을 생성합니다. 훈련 세트가 완벽하게 예측하거나 상한선에 추가될 때까지 모델을 지속적으로 추가합니다.
AdaBoost는 이진 분류를 위해 개발된 최초의 성공적인 부스팅 알고리즘이자 부스팅을 이해하기 위한 최고의 출발점이기도 합니다. 현재 AdaBoost를 기반으로 구축된 가장 유명한 알고리즘은 확률적 그래디언트 부스팅입니다.
AdaBoost
AdaBoost는 단기 결정 트리와 함께 자주 사용됩니다. 첫 번째 트리가 생성된 후 트리의 각 훈련 인스턴스 성능에 따라 다음 트리가 해당 훈련 인스턴스에 얼마나 많은 주의를 기울여야 하는지가 결정됩니다. 예측하기 어려운 훈련 데이터에는 더 많은 가중치가 부여되고, 예측하기 쉬운 인스턴스에는 더 적은 가중치가 부여됩니다. 모델은 순차적으로 생성되며 각 모델 업데이트는 시퀀스의 다음 트리의 학습 효과에 영향을 미칩니다. 모든 트리가 구축된 후 알고리즘은 새로운 데이터에 대한 예측을 수행하고 훈련 데이터의 정확성에 따라 각 트리의 성능에 가중치를 부여합니다.
알고리즘은 오류 수정에 큰 관심을 기울이기 때문에 이상값이 없는 깨끗한 데이터가 매우 중요합니다.
다양한 기계 학습 알고리즘을 접할 때 초보자가 묻는 일반적인 질문은 "어떤 알고리즘을 사용해야 합니까?"입니다. 질문에 대한 대답은 다음을 포함한 여러 요소에 따라 달라집니다.
경험이 풍부한 데이터 과학자라도 다른 알고리즘을 시도하기 전까지는 어떤 알고리즘이 가장 잘 작동하는지 알 수 없습니다. 다른 많은 기계 학습 알고리즘이 있지만 이러한 알고리즘이 가장 많이 사용됩니다. 머신러닝을 처음 접하는 경우 시작하기 좋은 곳입니다.
위 내용은 가장 일반적으로 사용되는 상위 10개 기계 학습 알고리즘에 대한 그림입니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!