Python을 사용한 기계 학습-방법
데이터를 사용하여 실제 문제를 해결하기위한 모델을 구축하는 데 사용할 수있는 다양한 ML 알고리즘, 기술 및 방법이 있습니다. 이 장에서 우리는 그러한 다양한 종류의 방법에 대해 논의 할 것입니다.
다양한 유형의 방법
다음은 몇 가지 광범위한 범주를 기반으로 한 다양한 ML 방법입니다.
인간의 감독에 근거
학습 과정에서 인간의 감독에 기반한 방법 중 일부는 다음과 같습니다.
Supervised Learning
지도 학습 알고리즘 또는 방법은 가장 일반적으로 사용되는 ML 알고리즘입니다. 이 방법 또는 학습 알고리즘은 데이터 샘플, 즉 훈련 데이터 및 관련 출력, 즉 훈련 프로세스 동안 각 데이터 샘플에 대한 레이블 또는 응답을 가져옵니다.
지도 학습 알고리즘의 주요 목표는 여러 학습 데이터 인스턴스를 수행 한 후 입력 데이터 샘플과 해당 출력 간의 연관성을 학습하는 것입니다.
예를 들어, 우리는
x: 입력 변수 및
Y: 출력 변수
이제 알고리즘을 적용하여 다음과 같이 입력에서 출력으로 매핑 함수를 학습합니다.
Y = f (x)
이제 주요 목표는 새 입력 데이터 (x)가있는 경우에도 새 입력 데이터에 대한 출력 변수 (Y)를 쉽게 예측할 수 있도록 매핑 함수를 근사화하는 것입니다.
학습의 전체 과정이 교사 나 감독자가 감독하는 것처럼 생각할 수 있기 때문에 감독 됨이라고합니다. 지도 머신 러닝 알고리즘의 예는 다음과 같습니다.Decision tree, Random Forest, KNN, Logistic Regression 기타
ML 작업을 기반으로지도 학습 알고리즘은 다음 두 가지 광범위한 클래스로 나눌 수 있습니다.
- Classification
- Regression
Classification
분류 기반 작업의 주요 목표는 지정된 입력 데이터에 대한 범주 출력 레이블 또는 응답을 예측하는 것입니다. 출력은 모델이 학습 단계에서 학습 한 내용을 기반으로합니다. 범주 형 출력 응답은 순서가 지정되지 않은 이산 값을 의미하므로 각 출력 응답은 특정 클래스 또는 범주에 속합니다. 다음 장에서도 분류 및 관련 알고리즘에 대해 자세히 설명합니다.
Regression
회귀 기반 작업의 주요 목표는 주어진 입력 데이터에 대해 연속 숫자 값인 출력 레이블 또는 응답을 예측하는 것입니다. 출력은 모델이 학습 단계에서 학습 한 내용을 기반으로합니다. 기본적으로 회귀 모델은 입력 데이터 기능 (독립 변수) 및 해당 연속 숫자 출력 값 (종속 또는 결과 변수)을 사용하여 입력과 해당 출력 간의 특정 연관성을 학습합니다. 회귀 및 관련 알고리즘에 대해서는 다음 장에서도 자세히 설명합니다.
비지도 학습
이름에서 알 수 있듯이 감독 된 ML 방법 또는 알고리즘과 반대입니다. 즉, 감독되지 않은 기계 학습 알고리즘에서는 어떤 종류의 지침도 제공 할 감독자가 없습니다. 비지도 학습 알고리즘은지도 학습 알고리즘과 같이 사전 레이블이 지정된 학습 데이터를 가질 자유가없고 입력 데이터에서 유용한 패턴을 추출하려는 시나리오에서 편리합니다.
예를 들어 다음과 같이 이해할 수 있습니다.
우리가-
x: Input variables, 그러면 해당 출력 변수가 없으며 알고리즘은 학습을 위해 데이터에서 흥미로운 패턴을 발견해야합니다.
비지도 머신 러닝 알고리즘의 예로는 K- 평균 클러스터링, K-nearest neighbors 기타
ML 작업을 기반으로 비지도 학습 알고리즘은 다음과 같은 광범위한 클래스로 나눌 수 있습니다.
- Clustering
- Association
- 차원 감소
Clustering
클러스터링 방법은 가장 유용한 비지도 ML 방법 중 하나입니다. 이러한 알고리즘은 데이터 샘플 간의 유사성 및 관계 패턴을 찾은 다음 해당 샘플을 특징에 따라 유사성을 갖는 그룹으로 클러스터링하는 데 사용되었습니다. 클러스터링의 실제 예는 구매 행동에 따라 고객을 그룹화하는 것입니다.
Association
또 다른 유용한 비지도 ML 방법은 Association다양한 항목 간의 흥미로운 관계를 더욱 잘 나타내는 패턴을 찾기 위해 대규모 데이터 세트를 분석하는 데 사용됩니다. 또한 다음과 같이 불립니다.Association Rule Mining 또는 Market basket analysis 주로 고객의 쇼핑 패턴을 분석하는 데 사용됩니다.
Dimensionality Reduction
이 비지도 ML 방법은 주 또는 대표 특성 세트를 선택하여 각 데이터 샘플에 대한 특성 변수의 수를 줄이는 데 사용됩니다. 여기서 질문이 제기되는 것은 왜 우리가 차원을 줄여야 하는가? 그 이유는 데이터 샘플에서 수백만 개의 특징을 분석하고 추출하기 시작할 때 발생하는 특징 공간 복잡성 문제입니다. 이 문제는 일반적으로 "차원의 저주"를 의미합니다. PCA (주성분 분석), K- 최근 접 이웃 및 판별 분석은 이러한 목적으로 널리 사용되는 알고리즘 중 일부입니다.
Anomaly Detection
이 비지도 ML 방법은 일반적으로 발생하지 않는 드문 이벤트 또는 관찰의 발생을 찾는 데 사용됩니다. 학습 된 지식을 사용하여 이상 탐지 방법은 이상 또는 정상 데이터 포인트를 구별 할 수 있습니다. 클러스터링과 같은 일부 비지도 알고리즘 인 KNN은 데이터와 그 기능을 기반으로 이상을 감지 할 수 있습니다.
준지도 학습
이러한 종류의 알고리즘 또는 방법은 완전히 감독되거나 감독되지 않습니다. 그들은 기본적으로 두 가지 즉, 감독 및 비지도 학습 방법 사이에 속합니다. 이러한 종류의 알고리즘은 일반적으로 작은지도 학습 구성 요소, 즉 소량의 사전 레이블이 지정된 주석 데이터와 큰 비지도 학습 구성 요소, 즉 훈련을 위해 많은 레이블이 지정되지 않은 데이터를 사용합니다. 준지도 학습 방법을 구현하기 위해 다음 접근 방식을 따를 수 있습니다.
첫 번째의 간단한 접근 방식은 소량의 레이블이 지정되고 주석이 달린 데이터를 기반으로 감독 모델을 구축 한 다음 레이블이 지정되지 않은 대량의 데이터에 동일한 데이터를 적용하여 더 많은 레이블이 지정된 샘플을 얻기 위해 감독되지 않은 모델을 구축하는 것입니다. 이제 모델을 훈련시키고 프로세스를 반복하십시오.
두 번째 접근 방식은 약간의 추가 노력이 필요합니다. 이 접근 방식에서는 먼저 비지도 방법을 사용하여 유사한 데이터 샘플을 클러스터링하고 이러한 그룹에 주석을 추가 한 다음이 정보의 조합을 사용하여 모델을 학습시킬 수 있습니다.
강화 학습
이러한 방법은 이전에 연구 된 방법과 다르며 거의 사용되지 않습니다. 이런 종류의 학습 알고리즘에는 특정 환경과 상호 작용할 수 있도록 일정 기간 동안 훈련하려는 에이전트가 있습니다. 에이전트는 환경과 상호 작용하기위한 일련의 전략을 따르고 환경을 관찰 한 후 환경의 현재 상태와 관련된 조치를 취합니다. 다음은 강화 학습 방법의 주요 단계입니다-
Step 1 − 먼저, 몇 가지 초기 전략 세트로 에이전트를 준비해야합니다.
Step 2 − 그런 다음 환경과 현재 상태를 관찰합니다.
Step 3 − 다음으로, 환경의 현재 상태를 고려한 최적의 정책을 선택하고 중요한 조치를 수행합니다.
Step 4 − 이제 에이전트는 이전 단계에서 취한 조치에 따라 해당하는 보상 또는 페널티를받을 수 있습니다.
Step 5 − 이제 필요한 경우 전략을 업데이트 할 수 있습니다.
Step 6 − 마지막으로 상담원이 최적의 정책을 배우고 채택 할 때까지 2 ~ 5 단계를 반복합니다.
기계 학습에 적합한 작업
다음 다이어그램은 다양한 ML 문제에 적합한 작업 유형을 보여줍니다.
학습 능력에 따라
학습 과정에서 다음은 학습 능력에 기반한 몇 가지 방법입니다.
Batch Learning
대부분의 경우 사용 가능한 전체 학습 데이터를 사용하여 한 번에 모델을 학습해야하는 엔드 투 엔드 머신 러닝 시스템이 있습니다. 이런 종류의 학습 방법이나 알고리즘을Batch or Offline learning. 일회성 절차이고 모델이 단일 배치의 데이터로 학습되기 때문에 배치 또는 오프라인 학습이라고합니다. 다음은 배치 학습 방법의 주요 단계입니다-
Step 1 − 먼저 모델 학습을 시작하기 위해 모든 학습 데이터를 수집해야합니다.
Step 2 − 이제 전체 학습 데이터를 한 번에 제공하여 모델 학습을 시작합니다.
Step 3 − 다음으로, 만족스러운 결과 / 성과를 얻으면 학습 / 훈련 과정을 중단합니다.
Step 4− 마지막으로이 훈련 된 모델을 프로덕션에 배포합니다. 여기에서 새 데이터 샘플의 출력을 예측합니다.
온라인 학습
배치 또는 오프라인 학습 방법과 완전히 반대입니다. 이러한 학습 방법에서 학습 데이터는 미니 배치라고하는 여러 증분 배치로 알고리즘에 제공됩니다. 다음은 온라인 학습 방법의 주요 단계입니다-
Step 1 − 먼저 모델 훈련을 시작하기위한 모든 훈련 데이터를 수집해야합니다.
Step 2 − 이제 알고리즘에 훈련 데이터의 미니 배치를 제공하여 모델 훈련을 시작합니다.
Step 3 − 다음으로, 알고리즘에 여러 증분으로 훈련 데이터의 미니 배치를 제공해야합니다.
Step 4 − 전체 학습 데이터를 미니 배치로 제공 한 후 일괄 학습처럼 멈추지 않으므로 새로운 데이터 샘플도 제공합니다.
Step 5 − 마지막으로 새로운 데이터 샘플을 기반으로 일정 기간 동안 학습을 계속합니다.
일반화 접근법 기반
학습 과정에서 다음은 일반화 접근 방식에 기반한 몇 가지 방법입니다.
인스턴스 기반 학습
인스턴스 기반 학습 방법은 입력 데이터를 기반으로 일반화를 수행하여 ML 모델을 구축하는 유용한 방법 중 하나입니다. 이러한 유형의 학습에는 원시 데이터 포인트 자체를 사용하여 학습 데이터에 대한 명시 적 모델을 구축하지 않고 최신 데이터 샘플에 대한 결과를 도출하는 방법이 포함된다는 점에서 이전에 연구 된 학습 방법과 반대입니다.
간단히 말해서, 인스턴스 기반 학습은 기본적으로 입력 데이터 포인트를 살펴본 다음 유사성 메트릭을 사용하여 작업을 시작하고 새로운 데이터 포인트를 일반화하고 예측합니다.
모델 기반 학습
모델 기반 학습 방법에서는 하이퍼 파라미터라고하는 다양한 모델 매개 변수를 기반으로 구축되고 입력 데이터가 기능을 추출하는 데 사용되는 ML 모델에서 반복 프로세스가 발생합니다. 이 학습에서 하이퍼 파라미터는 다양한 모델 검증 기술을 기반으로 최적화됩니다. 그렇기 때문에 모델 기반 학습 방법이 일반화를 향한보다 전통적인 ML 접근 방식을 사용한다고 말할 수 있습니다.