기계 학습에서 분류를 구현하는 방법은 무엇입니까?

게시 됨: 2021-03-12

다양한 분야에서 머신 러닝의 적용은 지난 몇 년 동안 비약적으로 증가했으며 계속해서 그렇게 하고 있습니다. 기계 학습 모델의 가장 인기 있는 작업 중 하나는 개체를 인식하고 지정된 클래스로 분리하는 것입니다.

이것은 머신 러닝의 가장 인기 있는 응용 프로그램 중 하나인 분류 방법입니다. 분류는 엄청난 양의 데이터를 0/1, 예/아니오와 같은 이진 또는 동물, 자동차, 새 등과 같은 다중 클래스가 될 수 있는 개별 값 세트로 분리하는 데 사용됩니다.

다음 기사에서는 머신 러닝의 분류 개념, 관련된 데이터 유형을 이해하고 머신 러닝에서 여러 데이터를 분류하는 데 사용되는 가장 인기 있는 분류 알고리즘을 살펴보겠습니다.

목차

지도 학습이란 무엇입니까?

분류의 개념과 그 유형에 대해 알아볼 준비가 됨에 따라 지도 학습이 의미하는 것과 머신 러닝에서 지도 학습의 다른 방법과 어떻게 다른지 빠르게 살펴보겠습니다.

고등학교 물리학 수업에서 간단한 예를 들어 이것을 이해합시다. 새로운 방법과 관련된 간단한 문제가 있다고 가정합니다. 같은 방법으로 풀어야 하는 문제가 나온다면 우리 모두 같은 방법으로 예제 문제를 참고해서 풀어보도록 하지 않을까요? 해당 방법에 대해 확신이 생기면 다시 참조하고 계속 해결할 필요가 없습니다.

원천

이것은 기계 학습에서 지도 학습이 작동하는 것과 동일한 방식입니다. 그것은 예를 통해 배웁니다. 더 간단하게 유지하기 위해 Supervised Learning에서는 전체 데이터에 해당 레이블이 제공되므로 교육 프로세스 중에 Machine Learning 모델은 특정 데이터에 대한 출력을 동일한 데이터의 실제 출력과 비교하고 다음을 시도합니다. 예측된 레이블 값과 실제 레이블 값 사이의 오류를 최소화합니다.

이 기사에서 다룰 분류 알고리즘은 이러한 지도 학습 방법(예: 스팸 감지 및 개체 인식)을 따릅니다.

비지도 학습은 데이터에 레이블이 제공되지 않는 위의 단계입니다. 데이터에서 패턴을 도출하고 출력을 제공하는 것은 기계 학습 모델의 책임과 효율성에 달려 있습니다. 클러스터링 알고리즘은 이 비지도 학습 방법을 따릅니다.

분류란 무엇입니까?

분류는 객체 또는 데이터를 인식, 이해 및 미리 설정된 클래스로 그룹화하는 것으로 정의됩니다. 머신 러닝 모델의 훈련 프로세스 전에 데이터를 분류함으로써 다양한 분류 알고리즘을 사용하여 데이터를 여러 클래스로 분류할 수 있습니다. 회귀와 달리 분류 문제는 출력 변수가 "예" 또는 "아니오" 또는 "질병" 또는 "질병 없음"과 같은 범주인 경우입니다.

대부분의 머신 러닝 문제에서 데이터 세트가 프로그램에 로드되면 훈련 전에 데이터 세트를 훈련 세트와 고정 비율의 테스트 세트(보통 70% 훈련 세트와 30% 테스트 세트)로 분할합니다. 이 분할 프로세스를 통해 모델은 몇 가지 수학적 근사에 의해 실제 값에 대해 예측된 값의 오류를 수정하려고 시도하는 역전파를 수행할 수 있습니다.

마찬가지로 분류를 시작하기 전에 훈련 데이터 세트가 생성됩니다. 분류 알고리즘은 에포크(epoch)라고 하는 각 반복으로 테스트 데이터 세트를 테스트하는 동안 이에 대한 교육을 받습니다.

원천

가장 일반적인 분류 알고리즘 응용 프로그램 중 하나는 이메일이 "스팸"인지 "스팸 아님"인지 필터링하는 것입니다. 간단히 말해서, 우리는 머신 러닝의 분류를 훈련 데이터에 적용되는 이러한 알고리즘이 데이터에서 여러 패턴(예: 유사한 단어 또는 숫자 시퀀스, 감정 등)을 추출하는 데 사용되는 "패턴 인식"의 한 형태로 정의할 수 있습니다. .).

분류는 주어진 데이터 세트를 클래스로 분류하는 프로세스입니다. 정형 또는 비정형 데이터 모두에 대해 수행할 수 있습니다. 주어진 데이터 포인트의 클래스를 예측하는 것으로 시작합니다. 이러한 클래스를 출력 변수, 대상 레이블 등이라고도 합니다. 여러 알고리즘에는 입력 데이터 포인트 변수에서 출력 대상 클래스로의 매핑 함수를 근사화하는 내장 수학 함수가 있습니다. 분류의 주요 목표는 새 데이터가 속하는 클래스/카테고리를 식별하는 것입니다.

기계 학습의 분류 알고리즘 유형

분류 알고리즘이 적용되는 데이터 유형에 따라 선형 및 비선형 모델의 두 가지 광범위한 알고리즘 범주가 있습니다.

선형 모델

  • 로지스틱 회귀
  • 서포트 벡터 머신(SVM)

비선형 모델

  • K-최근접이웃(KNN) 분류
  • 커널 SVM
  • 나이브 베이즈 분류
  • 의사결정 트리 분류
  • 랜덤 포레스트 분류

이 기사에서는 위에서 언급한 각 알고리즘의 이면에 있는 개념을 간략하게 살펴보겠습니다.

기계 학습에서 분류 모델 평가

위에서 언급한 이러한 알고리즘의 개념으로 넘어가기 전에 이러한 알고리즘을 기반으로 구축된 기계 학습 모델을 평가하는 방법을 이해해야 합니다. 훈련 세트와 테스트 세트 모두에서 모델의 정확성을 평가하는 것이 중요합니다.

교차 엔트로피 손실 또는 로그 손실

이것은 출력이 0과 1 사이인 분류기의 성능을 평가하는 데 사용할 첫 번째 유형의 손실 함수입니다. 이것은 주로 이진 분류 모델에 사용됩니다. 로그 손실 공식은 다음과 같습니다.

로그 손실 = -((1 – y) * log(1 – yhat) + y * log(yhat))

여기서 는 예측 값이고 y는 실제 값입니다.

혼란 매트릭스

혼동 행렬은 NXN 행렬이며, 여기서 N은 예측되는 클래스의 수입니다. 혼동 행렬은 행렬/표를 출력으로 제공하고 모델의 성능을 설명합니다. 분류 모델을 평가하기 위해 여러 성능 메트릭을 도출할 수 있는 매트릭스 형태의 예측 결과로 구성됩니다. 의 형태이며,

실제 긍정 실제 음수
예상 긍정적 트루 포지티브 거짓 긍정
예측된 음성 거짓 부정 트루 네거티브

위의 표에서 파생될 수 있는 몇 가지 성능 메트릭이 아래에 나와 있습니다.

1.정확도 - 정확한 예측의 총 개수의 비율입니다.

2. 긍정적인 예측 값 또는 정밀도 – 올바르게 식별된 긍정적인 사례의 비율.

3. 부정적인 예측 값 – 올바르게 식별된 부정적인 사례의 비율.

4. 민감도 또는 재현율 – 올바르게 식별된 실제 양성 사례의 비율.

5. 특이성 – 올바르게 식별된 실제 부정적인 사례의 비율.

AUC-ROC 곡선 –

이것은 모든 기계 학습 모델을 평가하는 또 다른 중요한 곡선 메트릭입니다. ROC 곡선은 수신기 작동 특성 곡선을 나타내고 AUC는 곡선 아래 면적을 나타냅니다. ROC 곡선은 TPR 및 FPR로 표시되며, 여기서 Y축은 TPR(진양성 비율)이고 X축은 FPR(위양성 비율)입니다. 다양한 임계값에서 분류 모델의 성능을 보여줍니다.

원천

1. 로지스틱 회귀

로지스틱 회귀는 분류를 위한 기계 학습 알고리즘입니다. 이 알고리즘에서 단일 시도의 가능한 결과를 설명하는 확률은 로지스틱 함수를 사용하여 모델링됩니다. 입력 변수가 숫자이고 가우스(종형 곡선) 분포가 있다고 가정합니다.

시그모이드 함수라고도 하는 로지스틱 함수는 처음에 통계학자들이 생태학에서 인구 증가를 설명하는 데 사용했습니다. 시그모이드 함수는 예측된 값을 확률에 매핑하는 데 사용되는 수학 함수입니다. 로지스틱 회귀는 S자형 곡선을 가지며 0과 1 사이의 값을 가질 수 있지만 정확히 그 한계에 도달하지는 않습니다.

원천

Logistic Regression은 주로 Yes/No 및 Pass/Fail과 같은 이진 결과를 예측하는 데 사용됩니다. 독립 변수는 범주형 또는 숫자형일 수 있지만 종속 변수는 항상 범주형입니다. 로지스틱 회귀의 공식은 다음과 같습니다.

여기서 e는 0과 1 사이의 값을 갖는 S자 곡선을 나타냅니다.

2. 벡터 머신 지원

지원 벡터 머신(SVM)은 알고리즘을 사용하여 극성 정도 내에서 데이터를 훈련하고 분류하여 X/Y 예측을 넘어선 정도까지 가져갑니다. SVM에서 클래스를 구분하는 데 사용되는 라인을 하이퍼플레인(Hyperplane)이라고 합니다. 초평면에 가장 가까운 초평면의 양쪽에 있는 데이터 포인트를 경계선을 그리는 데 사용되는 지지 벡터라고 합니다.

이 Support Vector Machine in Classification은 많은 범주가 초평면 범주로 분리된 공간의 데이터 포인트로 훈련 데이터를 나타냅니다. 새로운 점이 들어오면 어떤 범주에 속하고 특정 공간에 속할지 예측하여 분류한다.

원천

서포트 벡터 머신의 주요 목표는 두 서포트 벡터 사이의 마진을 최대화하는 것입니다.

세계 최고의 대학에서 온라인으로 ML 과정 에 참여하십시오. 석사, 대학원 대학원 과정, ML 및 AI 고급 인증 프로그램을 통해 빠르게 경력을 쌓을 수 있습니다.

3. K-최근접이웃(KNN) 분류

KNN 분류는 분류의 가장 간단한 알고리즘 중 하나이지만 높은 효율성과 사용 편의성으로 인해 많이 사용됩니다. 이 방법에서는 전체 데이터 세트가 초기에 머신에 저장됩니다. 그런 다음, 이웃의 수를 나타내는 값 – k가 선택됩니다. 이런 식으로 새 데이터 포인트가 데이터 세트에 추가되면 해당 새 데이터 포인트에 대해 k개의 가장 가까운 이웃 클래스 레이블의 과반수 투표를 취합니다. 이 투표를 통해 새 데이터 포인트가 가장 높은 투표를 가진 특정 클래스에 추가됩니다.

원천

4. 커널 SVM

위에서 언급했듯이 Linear Support Vector Machine은 본질적으로 선형 데이터에만 적용할 수 있습니다. 그러나 세상의 모든 데이터는 선형으로 분리할 수 없습니다. 따라서 비선형적으로 분리 가능한 데이터를 설명하기 위해 Support Vector Machine을 개발해야 합니다. 여기에 커널 지원 벡터 머신 또는 커널 SVM이라고도 하는 커널 트릭이 있습니다.

Kernel SVM에서는 RBF 또는 Gaussian Kernel과 같은 커널을 선택합니다. 모든 데이터 포인트는 더 높은 차원에 매핑되어 선형으로 분리될 수 있습니다. 이러한 방식으로 데이터 세트의 서로 다른 클래스 간에 결정 경계를 만들 수 있습니다.

원천

따라서 이러한 방식으로 Support Vector Machines의 기본 개념을 사용하여 비선형용 커널 SVM을 설계할 수 있습니다.

5. 나이브 베이즈 분류

나이브 베이즈 분류는 데이터 세트의 모든 독립 변수(특징)가 독립적이라고 가정하고 베이즈 정리에 해당하는 루트를 갖습니다. 결과를 예측하는 데 있어 동일한 중요성을 갖습니다. Bayes Theorem의 이러한 가정은 'Naive'라는 이름을 제공합니다. 스팸 필터링 및 기타 텍스트 분류 영역과 같은 다양한 작업에 사용됩니다. Naive Bayes는 데이터 포인트가 특정 범주에 속하는지 여부의 가능성을 계산합니다.

나이브 베이즈 분류 공식은 다음과 같습니다.

6. 의사결정 트리 분류

의사 결정 트리는 정확한 수준에서 클래스를 정렬할 수 있으므로 분류 문제에 완벽한 지도 학습 알고리즘입니다. 각 수준에서 데이터 포인트를 분리하는 순서도의 형태로 작동합니다. 최종 구조는 노드와 잎이 있는 트리처럼 보입니다.

원천

결정 노드에는 두 개 이상의 분기가 있고 잎은 분류 또는 결정을 나타냅니다. 위의 의사 결정 트리 예에서 몇 가지 질문을 통해 순서도가 생성되어 시장에 갈지 여부를 예측하는 간단한 문제를 해결하는 데 도움이 됩니다.

7. 랜덤 포레스트 분류

이 목록의 마지막 분류 알고리즘에 도달하면 랜덤 포레스트는 의사결정 트리 알고리즘의 확장일 뿐입니다. 랜덤 포레스트는 여러 의사 결정 트리를 사용하는 앙상블 학습 방법입니다. 의사 결정 트리와 동일한 방식으로 작동합니다.

원천

Random Forest Algorithm은 기존의 Decision Tree Algorithm을 발전시킨 것으로 " overfitting "이라는 큰 문제가 있습니다. 또한 Decision Tree Algorithm에 비해 더 빠르고 정확하다고 생각됩니다.

더 읽어보기: 기계 학습 프로젝트 아이디어 및 주제

결론

따라서 분류를 위한 기계 학습 방법에 대한 이 기사에서는 분류 및 지도 학습의 기본, 분류 모델의 유형 및 평가 메트릭을 이해했으며 마지막으로 가장 일반적으로 사용되는 모든 분류 모델 기계 학습에 대한 요약을 이해했습니다.

머신 러닝에 대해 자세히 알아보려면 IIIT-B & upGrad의 기계 학습 및 AI 경영자 PG 프로그램을 확인하세요. 이 프로그램은 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT를 제공합니다. -B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

Q1. 기계 학습에서 가장 많이 사용되는 알고리즘은 무엇입니까?

머신 러닝은 지도 학습 알고리즘, 비지도 학습 알고리즘 및 강화 학습 알고리즘의 세 가지 주요 종류로 크게 분류할 수 있는 다양한 알고리즘을 사용합니다. 이제 가장 일반적으로 사용되는 알고리즘의 범위를 좁히고 이름을 지정하려면 선형 회귀, 로지스틱 회귀, SVM, 의사 결정 트리, 랜덤 포레스트 알고리즘, kNN, 나이브 베이즈 이론, K-평균, 차원 축소, 및 그래디언트 부스팅 알고리즘. XGBoost, GBM, LightGBM 및 CatBoost 알고리즘은 그래디언트 부스팅 알고리즘에서 특별히 언급할 가치가 있습니다. 이러한 알고리즘은 거의 모든 종류의 데이터 문제를 해결하는 데 적용할 수 있습니다.

Q2. 기계 학습에서 분류 및 회귀란 무엇입니까?

분류 및 회귀 알고리즘은 모두 기계 학습에서 광범위하게 사용됩니다. 그러나 그들 사이에는 많은 차이점이 있으며 궁극적으로 용도 또는 목적을 결정합니다. 주요 차이점은 분류 알고리즘이 남성-여성 또는 참-거짓과 같은 이산 값을 분류하거나 예측하는 데 사용되는 반면 회귀 알고리즘은 급여, 연령, 가격 등과 같은 비이산적이고 연속적인 값을 예측하는 데 사용된다는 것입니다. 랜덤 포레스트, 커널 SVM 및 로지스틱 회귀는 가장 일반적인 분류 알고리즘 중 일부이며 단순 및 다중 선형 회귀, 지원 벡터 회귀, 다항식 회귀 및 의사 결정 트리 회귀는 기계 학습에 사용되는 가장 인기 있는 회귀 알고리즘 중 일부입니다.

Q3. 머신 러닝을 배우기 위한 전제 조건은 무엇인가요?

기계 학습을 시작하기 위해 능숙한 수학자나 전문 프로그래머가 될 필요는 없습니다. 그러나 필드의 광대함을 감안할 때 기계 학습 여정을 막 시작하려고 할 때 겁이 날 수 있습니다. 이러한 경우 전제 조건을 알고 있으면 순조롭게 시작하는 데 도움이 될 수 있습니다. 전제 조건은 본질적으로 기계 학습 개념을 이해하기 위해 습득해야 하는 핵심 기술입니다. 따라서 무엇보다도 먼저 Python을 사용하여 코딩하는 방법을 배워야 합니다. 다음으로, 통계 및 수학, 특히 선형 대수 및 다변수 미적분학에 대한 기본 이해가 추가 이점이 될 것입니다.