기계 학습의 분류: 정의 및 작동 방식
게시 됨: 2024-11-20분류는 데이터 분석 및 기계 학습(ML)의 핵심 개념입니다. 이 가이드에서는 분류가 무엇인지, 어떻게 작동하는지 살펴보고, 분류와 회귀의 차이점을 설명하고, 작업 유형, 알고리즘, 애플리케이션, 장점 및 과제를 다룹니다.
목차
- 분류란 무엇입니까?
- 분류와 회귀
- ML의 분류 작업 유형
- 분류 분석에 사용되는 알고리즘
- 분류의 응용
- 분류의 장점
- 분류의 단점
머신러닝에서 분류란 무엇인가요?
분류는 입력 특징을 기반으로 새 데이터 포인트의 범주(클래스라고도 함)를 예측하는 기계 학습의 지도 학습 기술입니다. 분류 알고리즘은 올바른 범주가 알려진 레이블이 지정된 데이터를 사용하여 기능을 특정 범주에 매핑하는 방법을 학습합니다. 이 프로세스를 분류 또는 범주형 분류라고도 합니다.
분류를 수행하기 위해 알고리즘은 두 가지 주요 단계로 작동합니다. 훈련 단계에서 알고리즘은 입력 데이터와 해당 레이블 또는 카테고리 간의 관계를 학습합니다. 학습이 완료되면 모델은 학습된 패턴을 사용하여 실제 애플리케이션에서 볼 수 없는 새로운 데이터를 분류하는 추론 단계에 들어갑니다. 분류의 효율성은 주로 이러한 단계를 처리하는 방법과 훈련 중에 사용할 수 있는 전처리된 데이터의 품질에 따라 달라집니다.
분류 알고리즘이 이러한 단계를 관리하는 방법을 이해하는 것이 필수적입니다. 한 가지 주요 차이점은 학습에 접근하는 방식입니다. 이는 분류 알고리즘이 따를 수 있는 두 가지 뚜렷한 전략, 즉 게으른 학습과 열정적인 학습으로 이어집니다.
게으른 학습자 vs 열성적인 학습자
분류 알고리즘은 일반적으로 게으른 학습 또는 열성 학습이라는 두 가지 학습 전략 중 하나를 채택합니다. 이러한 접근 방식은 모델이 구축되는 방법과 시기가 근본적으로 다르며, 이는 알고리즘의 유연성, 효율성 및 사용 사례에 영향을 미칩니다. 둘 다 데이터 분류를 목표로 하지만 다양한 유형의 작업과 환경에 적합한 대조 방법을 사용하여 이를 수행합니다.
각 접근 방식의 강점과 약점을 더 잘 이해하기 위해 게으른 학습자와 열정적인 학습자의 작업을 살펴보겠습니다.
게으른 학습자
인스턴스 기반 또는 메모리 기반 학습자라고도 알려진 지연 학습 알고리즘은 훈련 데이터를 저장하고 쿼리를 분류해야 할 때까지 실제 학습을 지연시킵니다. 이러한 알고리즘 중 하나가 작동되면 유사성 측정을 사용하여 새 데이터 포인트를 저장된 인스턴스와 비교합니다. 사용 가능한 데이터의 품질과 양은 알고리즘의 정확도에 큰 영향을 미치며 일반적으로 더 큰 데이터 세트에 액세스하면 성능이 향상됩니다. 게으른 학습자는 최근 데이터에 우선순위를 두는 경우가 많으며, 이를최신 편향이라고 합니다. 실시간으로 학습하기 때문에 쿼리에 응답할 때 속도가 느려지고 계산 비용이 더 많이 들 수 있습니다.
게으른 학습자는 실시간 의사결정이 중요하고 데이터가 끊임없이 진화하는 동적 환경에서 탁월합니다. 이러한 알고리즘은 새로운 정보가 지속적으로 유입되는 작업에 매우 적합하며 분류 작업 간에 광범위한 교육 주기를 수행할 시간이 없습니다.
열정적인 학습자
반면 Eager Learning 알고리즘은 모든 훈련 데이터를 미리 처리하여 분류 작업이 수행되기 전에 모델을 구성합니다. 이 사전 학습 단계는 일반적으로 리소스 집약적이고 복잡하므로 알고리즘이 데이터에서 더 깊은 관계를 찾아낼 수 있습니다. 훈련을 받은 열성적인 학습자는 원본 훈련 데이터에 액세스할 필요가 없으므로 예측 단계에서 효율성이 매우 높습니다. 최소한의 계산 비용으로 데이터를 신속하게 분류하고 대량의 쿼리를 처리할 수 있습니다.
그러나 열정적인 학습자는 새로운 실시간 데이터에 적응하는 데 유연성이 떨어집니다. 리소스가 많이 소요되는 교육 프로세스로 인해 처리할 수 있는 데이터의 양이 제한되어 전체 모델을 재교육하지 않고는 새로운 정보를 통합하기가 어렵습니다.
이 게시물의 뒷부분에서 우리는 게으른 알고리즘과 열성적인 알고리즘을 얼굴 인식에 어떻게 함께 사용할 수 있는지 살펴보겠습니다.
분류와 회귀: 차이점은 무엇인가요?
이제 분류가 어떻게 작동하는지 살펴보았으므로 이를 또 다른 주요 지도 학습 기술인 회귀와 구별하는 것이 중요합니다.
분류와 회귀는 모두 훈련 단계의 레이블이 지정된 데이터를 기반으로 예측을 수행하는 데 사용되지만 생성하는 예측 유형이 다릅니다.
분류 알고리즘은개별적이고 범주적인 결과를 예측합니다. 예를 들어, 이메일 분류 시스템에서 이메일은 "스팸" 또는 "햄"으로 분류될 수 있습니다(여기서 "햄"은 스팸이 아닌 이메일을 나타냄). 마찬가지로, 날씨 분류 모델은 "내일 비가 올까요?"라는 질문에 대한 응답으로 "예", "아니요" 또는 "아마도"를 예측할 수 있습니다.
반면회귀 알고리즘은연속 값을 예측합니다. 회귀 모델은 데이터를 범주에 할당하는 대신 수치 결과를 추정합니다. 예를 들어, 이메일 시스템에서 회귀 모델은 이메일이 스팸일 확률(예: 70%)을 예측할 수 있습니다. 날씨 예측 모델의 경우 예상되는 강우량(예: 2인치의 비)을 예측할 수 있습니다.
분류와 회귀는 서로 다른 목적으로 사용되지만 때로는 함께 사용됩니다. 예를 들어 회귀는 분류 시스템에 입력되는 확률을 추정하여 예측의 정확성과 세분성을 향상시킬 수 있습니다.
ML의 분류 작업 유형
분류 작업은 다양하며 각각 특정 데이터 유형 및 문제에 맞게 조정됩니다. 작업의 복잡성과 범주의 특성에 따라 이진, 다중 클래스, 다중 레이블 또는 불균형 분류 등 다양한 방법을 사용할 수 있습니다. 아래에서 각 접근 방식에 대해 더 자세히 살펴보겠습니다.
이진 분류
이진 분류는 데이터를 참/거짓, 예/아니오 등 두 가지 범주로 분류하는 기본적인 작업입니다. 사기 탐지, 감정 분석, 의료 진단, 스팸 필터링 등의 분야에서 널리 연구되고 적용됩니다. 이진 분류는 두 개의 클래스를 처리하지만 문제를 여러 이진 작업으로 나누어 더 복잡한 분류를 처리할 수 있습니다. 예를 들어 데이터를 '사과', '오렌지', '바나나', '기타'로 분류하려면 별도의 이진 분류기를 사용하여 '사과인가요?', '오렌지인가요?', ''라고 답할 수 있습니다. 바나나인가요?”
다중 클래스 분류
다항 분류라고도 하는 다중클래스 분류는 데이터가 세 개 이상의 범주로 분류되는 작업을 위해 설계되었습니다. 문제를 여러 이진 분류 작업으로 분해하는 모델과 달리 멀티클래스 알고리즘은 이러한 시나리오를 보다 효율적으로 처리하도록 구축되었습니다. 이러한 알고리즘은 일반적으로 바이너리 시스템보다 더 복잡하고 더 큰 데이터 세트가 필요하며 설정에 리소스 집약적이지만 일단 구현되면 더 나은 성능을 제공하는 경우가 많습니다.
다중 라벨 분류
다중 출력 분류라고도 하는 다중 레이블 분류는 지정된 데이터에 두 개 이상의 레이블을 할당합니다. 각 인스턴스에 여러 범주 중 하나의 레이블만 할당되는 다중 클래스 분류와 혼동되는 경우가 많습니다.
차이점을 명확히 하기 위해: 이진 분류 알고리즘은 이미지를 과일이 있는 이미지와 과일이 없는 이미지라는 두 가지 범주로 정렬할 수 있습니다. 그런 다음 멀티클래스 시스템은 과일 이미지를 바나나, 사과 또는 오렌지와 같은 특정 카테고리로 분류할 수 있습니다. 반면에 다중 레이블 분류를 사용하면 단일 이미지에 여러 레이블을 할당할 수 있습니다. 예를 들어 단일 이미지를 '과일'과 '바나나'로 분류할 수 있고, 과일에 '익은' 또는 '안 익은' 라벨을 붙일 수도 있습니다. 이를 통해 시스템은 (“과일 없음”, “바나나 없음”, “아무것도 익지 않음”), (“과일”, “바나나”, “익은” 또는 (“과일, " "바나나", "아무것도 익지 않았습니다").
불균형 분류
훈련에 사용할 수 있는 데이터가 실제로 보이는 데이터의 분포를 나타내지 않는 경우가 많습니다. 예를 들어, 알고리즘은 훈련 중에 100명의 사용자 데이터에만 액세스할 수 있으며, 그 중 50%가 구매합니다(실제로는 10%의 사용자만이 구매합니다). 불균형 분류 알고리즘은 오버샘플링(훈련 데이터의 일부를 재사용) 및 언더샘플링(훈련 데이터의 일부를 과소 사용) 기술을 사용하여 학습 중에 이 문제를 해결합니다. 이렇게 하면 학습 알고리즘이 데이터의 하위 집합이 훈련 데이터에서보다 실제로 훨씬 더 자주 또는 덜 자주 발생한다는 것을 학습하게 됩니다. 이러한 기술은 시스템이 다른 방식으로 학습하는 데 필요한 것보다 훨씬 적은 데이터를 통해 학습할 수 있게 해주기 때문에 일반적으로 일종의 훈련 최적화입니다.
때로는 현실을 반영할 만큼 충분한 데이터를 축적하는 것이 어렵거나 시간이 많이 걸리며, 이러한 유형의 최적화를 통해 모델을 더 빨리 훈련할 수 있습니다. 다른 경우에는 데이터 양이 너무 커서 분류 알고리즘이 모든 데이터를 훈련하는 데 너무 오랜 시간이 걸리고 불균형 알고리즘을 사용하면 어쨌든 훈련할 수 있습니다.
분류 분석에 사용되는 알고리즘
분류 알고리즘은 잘 연구되어 있으며 모든 상황에 보편적으로 적합한 단일 분류 형식은 없습니다. 결과적으로 잘 알려진 분류 알고리즘으로 구성된 대규모 툴킷이 있습니다. 아래에서는 가장 일반적인 몇 가지 사항에 대해 설명합니다.
선형 예측자
선형 예측자는 입력 특성의 선형 조합을 기반으로 결과를 예측하는 알고리즘을 나타냅니다. 이러한 방법은 간단하고 효과적이기 때문에 분류 작업에 널리 사용됩니다.
로지스틱 회귀
로지스틱 회귀는 특히 이진 분류에서 가장 일반적으로 사용되는 선형 예측 변수 중 하나입니다. 로지스틱(또는 시그모이드) 함수를 사용하여 관찰된 변수를 기반으로 결과의 확률을 계산합니다. 신뢰도 임계값을 초과하는 경우 확률이 가장 높은 클래스가 예측 결과로 선택됩니다. 이 기준을 충족하는 결과가 없는 경우 결과는 "불확실" 또는 "미정"으로 표시될 수 있습니다.
선형 회귀
선형 회귀는 일반적으로 회귀 사용 사례에 사용되며 연속 값을 출력합니다. 그러나 필터나 맵을 추가하여 출력을 클래스로 변환하면 값을 분류용으로 다시 사용할 수 있습니다. 예를 들어 강수량 예측을 출력하는 선형 회귀 모델을 이미 훈련한 경우 임계값을 임의로 설정하여 동일한 모델이 "비가 오는 날"/"비오는 날이 아닌 날" 이진 분류자가 될 수 있습니다. 기본적으로 모델을 이진 분류자로 변환할 때 사용되는 것은 회귀 결과의 부호뿐입니다(0과 양수는 "예" 대답 또는 "+1"에 매핑되고 음수는 "아니오" 대답 또는 "-에 매핑됨). 1”). 하지만 지도는 더 복잡하고 사용 사례에 맞게 조정할 수 있습니다. 예를 들어, 5ml 이상의 비가 내리는 예측은 "비 오는 날"로 간주하고 그보다 낮은 예측은 그 반대를 예측하도록 결정할 수 있습니다.
판별 분석
선형 판별 분석(LDA)은 분류에 사용되는 또 다른 중요한 선형 예측 변수입니다. LDA는 서로 다른 클래스를 가장 잘 구분하는 기능의 선형 조합을 찾는 방식으로 작동합니다. 관측치는 독립적이고 정규 분포를 따른다고 가정합니다. LDA는 차원 축소를 위해 자주 사용되지만 판별 함수(클래스 간 차이를 측정하는 함수)를 사용하여 클래스에 관찰값을 할당하는 강력한 분류 도구이기도 합니다.
베이지안 분류
베이지안 분류 알고리즘은 베이즈 정리를 사용하여 관찰된 데이터가 주어진 각 클래스의 사후 확률을 계산합니다. 이러한 알고리즘은 데이터의 특정 통계적 속성을 가정하며 성능은 이러한 가정이 얼마나 잘 유지되는지에 따라 달라집니다. 예를 들어 Naive Bayes는 특성이 클래스에 따라 조건부 독립이라고 가정합니다.
k-NN 분류
k-NN(k-Nearest Neighbor) 알고리즘은 널리 사용되는 또 다른 분류 방법입니다. 회귀 및 분류 작업 모두에 적용할 수 있지만 분류에 가장 일반적으로 사용됩니다. 이 알고리즘은 k개의 최근접 이웃(여기서 k는 변수)의 클래스를 기반으로 새 데이터 포인트에 클래스를 할당하고, 거리 계산을 사용하여 근접성을 결정합니다. k-NN 알고리즘은 데이터에 로컬 구조가 있을 때 간단하고 효율적이며 효과적입니다. 성능은 적절한 거리 측정법을 선택하고 데이터에 분류에 도움이 될 수 있는 로컬 패턴이 있는지 확인하는 데 달려 있습니다.
의사결정 트리와 랜덤 포레스트
의사결정 트리는 분류 작업에 사용되는 널리 사용되는 알고리즘입니다. 그들은 특정 관찰이 어떤 클래스에 속하는지 결정하기 위해 특성 값을 기반으로 데이터를 재귀적으로 분할하는 방식으로 작동합니다. 그러나 의사결정 트리는 훈련 데이터에 과적합되어 노이즈를 포착하고 높은 분산으로 이어지는 경향이 있습니다. 이러한 과대적합으로 인해 새 데이터에 대한 일반화가 제대로 이루어지지 않습니다.
과적합을 완화하기 위해 앙상블 방법으로 Random Forest를 사용합니다. 랜덤 포레스트는 데이터의 무작위 하위 집합에 대해 여러 의사결정 트리를 병렬로 훈련하며, 각 트리는 자체적으로 예측합니다. 최종 예측은 일반적으로 다수결 투표를 통해 모든 트리의 예측을 집계하여 이루어집니다. "배깅"(부트스트랩 집계의 단축어)으로 알려진 이 프로세스는 분산을 줄이고 보이지 않는 데이터를 일반화하는 모델의 능력을 향상시킵니다. 랜덤 포레스트는 편향과 분산의 균형을 맞추는 데 효과적이므로 분류 작업을 위한 강력한 기성 알고리즘이 됩니다.
분류의 응용
분류 알고리즘은 데이터를 사전 정의된 그룹으로 분류하여 실제 문제를 해결하기 위해 다양한 분야에서 널리 사용됩니다. 다음은 얼굴 인식, 문서 분류, 고객 행동 예측을 포함한 몇 가지 일반적인 분류 응용 프로그램입니다.
얼굴 인식
얼굴 인식 시스템은 동영상이나 사진의 얼굴을 알려진 얼굴 데이터베이스와 실시간으로 대조합니다. 일반적으로 인증에 사용됩니다.
예를 들어 전화 잠금 해제 시스템은 얼굴 감지 시스템을 사용하여 시작됩니다. 이 시스템은 몇 초마다 얼굴 지향 카메라에서 저해상도 이미지를 가져온 다음 이미지에 얼굴이 있는지 추론합니다. 얼굴 감지 시스템은 "얼굴이 존재하는가 아닌가?"라는 질문에 대답하는 잘 훈련되고 열정적인 이진 분류기가 될 수 있습니다.
게으른 분류기는 “얼굴이 있나요?”라는 열성적인 질문을 따를 것입니다. 분류자. 휴대전화 소유자의 모든 사진과 셀카를 사용하여 별도의 이진 분류 작업을 구현하고 "이 얼굴은 휴대전화 잠금 해제가 허용된 사람의 얼굴인가요?"라는 질문에 답합니다. 대답이 '예'이면 전화기가 잠금 해제됩니다. 대답이 '아니오'라면 그렇지 않습니다.
문서 분류
문서 분류는 현대 데이터 관리 전략의 중요한 부분입니다. ML 기반 분류자는 저장된 대량의 문서를 분류하고 분류하여 문서와 해당 콘텐츠를 더욱 유용하게 만드는 인덱싱 및 검색 작업을 지원합니다.
문서 분류 작업은 문서 전처리부터 시작됩니다. 그 내용은 분석되어 수치 표현으로 변환됩니다(숫자는 처리하기가 더 쉽기 때문입니다). 수학 방정식, 내장된 이미지, 문서 언어 등 중요한 문서 기능이 문서에서 추출되어 ML 알고리즘이 학습할 수 있도록 강조표시됩니다. 그 다음에는 동일한 맥락의 다른 유사한 처리 작업이 이어집니다.
그런 다음 문서의 하위 집합을 사람이 직접 분류하여 분류 시스템을 위한 교육 데이터 세트를 만듭니다. 일단 훈련되면 분류자는 들어오는 모든 문서를 대규모로 신속하게 분류하고 분류합니다. 분류 오류가 감지되면 ML 시스템의 교육 자료에 수동 수정 사항을 추가할 수 있습니다. 때때로 분류기 모델은 수정 사항을 추가하여 재교육될 수 있으며 성능이 향상됩니다.
고객 행동 예측
온라인 소매점과 전자상거래 상점은 고객 행동에 대한 상세하고 상세한 정보를 수집합니다. 이 정보는 신규 고객을 분류하고 "이 신규 고객이 구매할 가능성이 있습니까?"와 같은 질문에 답하는 데 사용될 수 있습니다. 및 "25% 할인을 제공하면 이 고객의 구매 행동에 영향을 미칠까요?"
분류자는 이전 고객의 데이터와 구매 여부 등 고객의 최종 행동을 사용하여 학습됩니다. 신규 고객이 플랫폼과 상호 작용하면 모델은 고객의 구매 여부와 구매 시기를 예측할 수 있습니다. 또한 가정 분석을 수행하여 "이 사용자에게 25% 할인을 제공하면 구매를 하게 될까요?"와 같은 질문에 답할 수도 있습니다.
분류의 장점
분류는 기계 학습 영역에서 여러 가지 이점을 제공하므로 데이터 분류 문제를 해결하는 데 널리 사용되는 접근 방식입니다. 아래에서는 분류의 성숙도, 유연성, 사람이 읽을 수 있는 출력을 제공하는 능력 등 분류의 주요 장점 중 일부를 살펴보겠습니다.
잘 연구하고 이해함
분류는 기계 학습 영역에서 가장 잘 연구되고 이해되는 문제 중 하나입니다. 결과적으로 분류 작업에 사용할 수 있는 성숙한 툴킷이 많이 있으므로 사용자는 속도, 효율성, 리소스 사용 및 데이터 품질 요구 사항 간의 균형을 맞출 수 있습니다.
정확도, 정밀도, 재현율, 혼동 행렬과 같은 표준 기술을 사용하여 분류기의 성능을 평가할 수 있습니다. 이러한 도구를 사용하면 주어진 문제에 가장 적합한 분류 시스템을 선택하고 성능을 평가하며 시간이 지남에 따라 개선하는 것이 상대적으로 간단할 수 있습니다.
사람이 읽을 수 있는 출력 제공
분류기는 종종 예측력과 사람의 가독성 사이의 균형을 허용합니다. 의사결정 트리나 로지스틱 회귀와 같은 더 간단하고 해석하기 쉬운 모델을 조정하여 동작을 더 쉽게 이해할 수 있습니다. 이러한 해석 가능한 모델은 데이터 속성을 탐색하는 데 사용될 수 있으며 이를 통해 인간 사용자는 데이터에 대한 통찰력을 얻을 수 있습니다. 이러한 통찰력은 더욱 복잡하고 정확한 기계 학습 모델 개발의 지침이 될 수 있습니다.
분류의 단점
분류는 기계 학습의 강력한 도구이지만 특정 과제와 제한 사항이 있습니다. 아래에서는 과적합, 과소적합 및 훈련 데이터의 광범위한 전처리 필요성을 포함하여 분류의 몇 가지 주요 단점에 대해 논의합니다.
과적합
분류 모델을 훈련할 때 모델이 데이터에 과적합될 가능성을 줄이기 위해 훈련 프로세스를 조정하는 것이 중요합니다. 과적합은 모델이 데이터의 관계에 대한 추상적인 이해를 개발하는 대신 소스 데이터의 일부 또는 전체를 기억하는 문제입니다. 훈련 데이터에 과적합된 모델은 훈련된 데이터와 매우 유사한 새 데이터를 발견할 때 잘 작동하지만 일반적으로 잘 작동하지 않을 수 있습니다.
과소적합
분류 시스템의 성능은 사용 가능한 충분한 양의 훈련 데이터가 있는지, 그리고 선택한 분류 알고리즘에 잘 작동하는 문제에 적용되는지에 따라 달라집니다. 사용할 수 있는 훈련 데이터가 충분하지 않거나 특정 분류 알고리즘에 데이터를 올바르게 해석하는 데 적합한 도구가 없는 경우 훈련된 모델은 좋은 예측 방법을 학습하지 못할 수도 있습니다. 이러한 현상을 "과소적합"이라고 합니다. 과소적합을 완화하는 데 사용할 수 있는 기술이 많이 있으며 이를 올바르게 적용하는 것이 항상 쉬운 것은 아닙니다.
훈련 데이터 전처리
많은 분류 시스템에는 데이터 구조 및 형식화에 대한 요구 사항이 상대적으로 엄격합니다. 이들의 성능은 데이터에 노출되거나 교육되기 전에 데이터가 얼마나 잘 처리되었는지와 밀접한 관련이 있는 경우가 많습니다. 결과적으로 분류 시스템은 가장 적합한 문제와 데이터 컨텍스트에 대한 엄격한 경계를 가지면서 경직되고 유연하지 않을 수 있습니다.