머신러닝이란?

여러 머신러닝 방법을 자세히 살펴보기 전에 먼저 머신러닝이 무엇인지, 머신러닝이 아닌지부터 살펴보겠습니다. 머신러닝은 흔히 인공지능의 하위 분야로 분류되는데, 분류가 오해를 불러일으킬 수 있다는 점을 발견했습니다. 머신러닝(Machine Learning)에 대한 연구는 확실히 이러한 맥락의 연구에서 시작되었지만, 머신러닝(Machine Learning) 방법을 데이터 과학(Data Science)에 적용하는 경우 머신러닝(Machine Learning)을 데이터 모델 구축 수단으로 생각하는 것이 더 도움이 됩니다.

이러한 맥락에서 관찰된 데이터에 적용할 수 있는 조정 가능한 매개변수를 이러한 모델에 제공하면 “학습”이 시작됩니다. 이러한 방식으로 프로그램은 데이터로부터 “학습”하는 것으로 간주될 수 있습니다. 이러한 모델이 이전에 본 데이터에 적합하면 새로 관찰된 데이터의 측면을 예측하고 이해하는 데 사용합니다. 이러한 유형의 수학적, 모델 기반 “학습”이 인간 두뇌에서 나타나는 “학습”과 어느 정도 유사한지에 대한 좀 더 철학적인 여담은 독자에게 맡기겠습니다.

이러한 도구를 효과적으로 사용하려면 머신러닝(Machine Learning)의 문제 설정을 이해하는 것이 필수적이므로 여기서 논의할 접근 방식 유형을 광범위하게 분류하는 것부터 시작하겠습니다.

머신러닝 카테고리

머신러닝은 크게 지도학습(supervised learning)과 비지도학습(unsupervised learning) 두 가지로 분류합니다.

지도 학습에는 데이터의 측정된 특징과 데이터와 관련된 일부 레이블 간의 관계를 어떻게든 모델링하는 작업이 포함됩니다. 이 모델이 결정되면 알려지지 않은 새로운 데이터에 레이블을 적용하는 데 사용합니다. 이는 때때로 분류 작업과 회귀 작업으로 더 세분화됩니다. 분류에서는 레이블이 개별 범주이고 회귀에서는 레이블이 연속 수량입니다. 다음 섹션에서는 두 가지 지도 학습 유형의 예를 모두 살펴볼 수 있습니다.

비지도 학습에는 레이블을 참조하지 않고 데이터 세트의 특성을 모델링하는 작업이 포함됩니다. 이러한 모델에는 클러스터링차원 축소와 같은 작업이 포함됩니다. 클러스터링 알고리즘은 데이터의 고유한 그룹을 식별하는 반면, 차원 축소 알고리즘은 데이터의 보다 간결한 표현을 검색합니다. 다음 섹션에서는 두 가지 비지도 학습 유형의 예도 살펴볼 수 있습니다.

또한 지도 학습과 비지도 학습 사이에 해당하는 소위 반지도 학습 방법이 있습니다. 불완전한 레이블만 사용할 수 있는 경우 준지도 학습 방법이 유용한 경우가 많습니다.

머신러닝 애플리케이션의 정성적 예

이러한 아이디어를 더욱 구체적으로 만들기 위해 머신러닝(Machine Learning) 작업의 몇 가지 매우 간단한 예를 살펴보겠습니다. 이러한 예는 책의 이 부분에서 살펴볼 머신러닝(Machine Learning) 작업 유형에 대한 직관적이고 비정량적인 개요를 제공하기 위한 것입니다. 이후 장에서는 특정 모델과 해당 모델이 사용되는 방법에 대해 더 자세히 살펴보겠습니다. 이러한 기술적 측면을 미리 보려면 온라인 부록에서 다음 그림을 생성하는 파이썬(Python) 소스를 찾을 수 있습니다.

분류: 이산 레이블 예측

먼저 간단한 분류 작업을 살펴보겠습니다. 여기서는 레이블이 지정된 점 세트가 제공되고 이를 사용하여 레이블이 없는 일부 점을 분류하려고 합니다.

이 그림에 표시된 데이터가 있다고 상상해보십시오.

이 데이터는 2차원입니다. 즉, 평면에서 점의 (x,y) 위치로 표시되는 각 점에 대해 두 개의 특성이 있습니다. 또한 각 포인트에 대해 두 개의 클래스 레이블 중 하나가 있으며 여기서는 포인트 색상으로 표시됩니다. 이러한 특징과 레이블을 통해 새로운 점에 ‘파란색’ 레이블을 붙일지 ‘빨간색’ 레이블을 붙일지 결정할 수 있는 모델을 만들고 싶습니다.

이러한 분류 작업에는 여러 가지 가능한 모델이 있지만 매우 간단한 모델부터 시작하겠습니다. 우리는 두 그룹 사이의 평면을 통해 직선을 그리면 두 그룹이 분리될 수 있다고 가정합니다. 즉, 선의 양쪽에 있는 점이 모두 같은 그룹에 속합니다. 여기서 모델은 “직선이 클래스를 구분합니다”라는 설명을 정량적으로 표현한 반면, 모델 매개변수는 데이터에 대한 해당 선의 위치와 방향을 설명하는 특정 숫자입니다. 이러한 모델 매개변수의 최적 값은 데이터에서 학습됩니다(머신러닝(Machine Learning)의 “학습”). 이를 종종 모델 훈련이라고 합니다.

다음 그림은 이 데이터에 대해 훈련된 모델이 어떻게 보이는지 시각적으로 보여줍니다.

이제 이 모델은 훈련되었으므로 레이블이 지정되지 않은 새로운 데이터로 일반화될 수 있습니다. 즉, 새로운 데이터 세트를 가져와 이를 통해 선을 그리고 이 모델을 기반으로 새 점에 레이블을 할당합니다(다음 그림 참조). 이 단계를 일반적으로 예측이라고 합니다.

이는 머신러닝(Machine Learning) 분류 작업의 기본 아이디어입니다. 여기서 “분류”는 데이터에 개별 클래스 레이블이 있음을 나타냅니다. 언뜻 보면 이는 사소한 것처럼 보일 수 있습니다. 데이터를 보고 이러한 분류를 달성하기 위해 차별적인 선을 그리는 것은 쉽습니다. 그러나 머신러닝(Machine Learning) 접근 방식의 이점은 더 많은 차원에서 훨씬 더 큰 데이터 세트로 일반화할 수 있다는 것입니다.

예를 들어 이는 이메일에 대한 자동화된 스팸 탐지 작업과 유사합니다. 이 경우 다음 기능과 레이블을 사용합니다.

  • 기능 1, 기능 2\(\to\) 중요한 단어나 문구의 정규화된 개수(“비아그라”, “보증 연장” 등)
  • 레이블 \(\to\) “스팸” 또는 “스팸 아님”

훈련 세트의 경우 이러한 레이블은 이메일의 작은 대표 샘플을 개별적으로 검사하여 결정될 수 있습니다. 나머지 이메일의 경우 레이블은 모델을 사용하여 결정됩니다. 충분히 잘 구성된 기능(일반적으로 수천 또는 수백만 개의 단어 또는 구문)을 갖춘 적절하게 훈련된 분류 알고리즘의 경우 이러한 유형의 접근 방식은 매우 효과적일 수 있습니다. 이러한 텍스트 기반 분류의 예는 심층: Naive Bayes 분류에서 확인합니다.

더 자세히 논의할 중요한 분류 알고리즘으로는 Gaussian naive Bayes(심층: Naive Bayes 분류 참조), 지원 벡터 머신(In-Depth: Support Vector Machines 참조) 및 Random Forest 분류(심층: 의사결정 트리 및 랜덤 참조)가 있습니다. 포레스트).

회귀: 연속 레이블 예측

분류 알고리즘의 개별 레이블과 달리 레이블이 연속 수량인 간단한 회귀 작업을 다음으로 살펴보겠습니다.

각각 연속 레이블이 있는 점 집합으로 구성된 다음 그림에 표시된 데이터를 고려해 보세요.

분류 예시와 마찬가지로 2차원 데이터가 있습니다. 즉, 각 데이터 포인트를 설명하는 두 가지 특징이 있습니다. 각 점의 색상은 해당 점의 연속 레이블을 나타냅니다.

이러한 유형의 데이터에 사용할 수 있는 회귀 모델은 여러 가지가 있지만 여기서는 간단한 선형 회귀 모델을 사용하여 점을 예측하겠습니다. 이 간단한 모델은 레이블을 세 번째 공간 차원으로 처리하면 평면을 데이터에 맞출 수 있다고 가정합니다. 이는 두 개의 좌표를 사용하여 데이터에 선을 맞추는 잘 알려진 문제를 더 높은 수준으로 일반화한 것입니다.

다음 그림과 같이 이 설정을 시각화합니다.

여기서 특징 1-특징 2 평면은 그림 37-4의 2차원 플롯과 동일합니다. 그러나 이 경우에는 색상과 3차원 축 위치로 레이블을 표현했습니다. 이러한 관점에서 볼 때, 이 3차원 데이터를 통해 평면을 피팅하면 모든 입력 매개변수 세트에 대해 예상되는 레이블을 예측할 수 있다는 것이 합리적으로 보입니다. 2차원 투영으로 돌아가서 이러한 평면을 맞추면 다음 그림과 같은 결과를 얻습니다.

이 적합 평면은 새로운 점에 대한 레이블을 예측하는 데 필요한 정보를 제공합니다. 시각적으로 다음 그림과 같은 결과를 찾을 수 있습니다.

분류 예제와 마찬가지로 이 작업은 차원 수가 적으면 사소해 보일 수 있습니다. 그러나 이러한 방법의 장점은 수많은 특성을 가진 데이터의 경우 직접 적용하고 평가할 수 있다는 것입니다.

예를 들어 이는 망원경을 통해 관찰된 은하까지의 거리를 계산하는 작업과 유사합니다. 이 경우 다음 기능과 레이블을 사용합니다.

  • 특징 1, 특징 2 등. 여러 파장이나 색상 중 하나에서 각 은하의 \(\to\) 밝기
  • label \(\to\) 거리 또는 은하의 적색편이

소수의 은하계에 대한 거리는 독립적인(일반적으로 더 비싸거나 복잡한) 관측 세트를 통해 결정될 수 있습니다. 그런 다음 전체 세트에 걸쳐 더 비싼 관측을 사용할 필요 없이 적절한 회귀 모델을 사용하여 남은 은하까지의 거리를 추정합니다. 천문학계에서는 이를 “광도계 적색편이” 문제라고 합니다.

우리가 논의할 중요한 회귀 알고리즘으로는 선형 회귀(심층: 선형 회귀 참조), 지원 벡터 머신(심층: 지원 벡터 머신 참조) 및 랜덤 포레스트 회귀(심층: 결정 트리 및 랜덤 참조)가 있습니다. 포레스트).

클러스터링: 레이블이 지정되지 않은 데이터에서 레이블 추론

방금 본 분류 및 회귀 그림은 지도 학습 알고리즘의 예이며, 여기서 새로운 데이터의 레이블을 예측하는 모델을 구축하려고 합니다. 비지도 학습에는 알려진 레이블을 참조하지 않고 데이터를 설명하는 모델이 포함됩니다.

비지도 학습의 일반적인 사례 중 하나는 데이터가 일정 수의 개별 그룹에 자동으로 할당되는 “클러스터링”입니다. 예를 들어 다음 그림과 같은 2차원 데이터가 있습니다.

눈으로 보면 이들 포인트 각각이 별개의 그룹에 속해 있음이 분명합니다. 이 입력이 주어지면 클러스터링 모델은 데이터의 고유 구조를 사용하여 어떤 포인트가 관련되어 있는지 결정합니다. 매우 빠르고 직관적인 k-평균 알고리즘(심층: K-평균 군집화 참조)을 사용하여 다음 그림에 표시된 군집을 찾습니다.

kk 군집 중심으로 구성된 모델에 적합함을 의미합니다. 최적의 중심은 할당된 중심으로부터 각 점의 거리를 최소화하는 중심으로 가정됩니다. 다시 말하지만 이는 2차원에서는 사소한 작업처럼 보일 수 있지만 데이터가 더 커지고 복잡해짐에 따라 이러한 클러스터링 알고리즘을 계속 사용하여 데이터 세트에서 유용한 정보를 추출합니다.

k-평균 알고리즘에 대해서는 심층: K-평균 군집화에서 더 자세히 논의하겠습니다. 다른 중요한 클러스터링 알고리즘에는 가우스 혼합 모델(심층: Gaussian Mixture Models 참조) 및 스펙트럼 클러스터링(Scikit-Learn의 클러스터링 문서 참조)이 포함됩니다.

차원 축소: 레이블이 없는 데이터의 구조 추론

차원 축소는 비지도 알고리즘의 또 다른 예입니다. 여기서 레이블이나 기타 정보는 데이터 세트 자체의 구조에서 추론됩니다. 차원 축소는 이전에 살펴본 예보다 조금 더 추상적이지만 일반적으로 전체 데이터 세트의 관련 품질을 어떤 식으로든 보존하는 데이터의 저차원 표현을 추출하려고 합니다. 심층: 다기관 학습에서 볼 수 있듯이 다양한 차원 축소 루틴은 이러한 관련 품질을 다양한 방식으로 측정합니다.

이에 대한 예로서 다음 그림에 표시된 데이터를 고려하십시오.

시각적으로 보면 이 데이터에 어떤 구조가 있다는 것이 분명합니다. 즉, 이 2차원 공간 내에서 나선형으로 배열된 1차원 선에서 그려지는 것입니다. 어떤 의미에서는 이 1차원 데이터가 2차원 공간에 내장되어 있지만 이 데이터는 “본질적으로” 단지 1차원이라고 말합니다. 이 경우 적합한 차원 축소 모델은 이러한 비선형 내장 구조에 민감하고 이러한 저차원 표현을 감지합니다.

다음 그림은 이를 정확하게 수행하는 다양한 학습 알고리즘인 Isomap 알고리즘의 결과를 시각화한 것입니다.

추출된 1차원 잠재 변수를 나타내는 색상이 나선형을 따라 균일하게 변경된다는 점에 주목하세요. 이는 알고리즘이 실제로 우리가 눈으로 본 구조를 감지했음을 나타냅니다. 이전 예제와 마찬가지로 차원 축소 알고리즘의 힘은 고차원 사례에서 더욱 명확해집니다. 예를 들어 100개 또는 1,000개의 특성이 있는 데이터 세트 내의 중요한 관계를 시각화하려고 합니다. 1,000차원 데이터를 시각화하는 것은 어려운 일이며, 이를 보다 쉽게 ​​관리할 수 있는 한 가지 방법은 차원 축소 기술을 사용하여 데이터를 2차원 또는 3차원으로 줄이는 것입니다.

우리가 논의할 중요한 차원 축소 알고리즘으로는 주성분 분석(심층: 주성분 분석 참조)과 Isomap 및 국소 선형 임베딩을 포함한 다양한 매니폴드 학습 알고리즘(심층: 다양체 학습 참조)이 있습니다.

요약

여기서 우리는 머신러닝(Machine Learning) 접근 방식의 기본 유형 중 일부에 대한 몇 가지 간단한 예를 살펴보았습니다. 말할 필요도 없이 우리가 얼버무린 중요한 실제 세부 사항이 많이 있지만 이 장은 머신러닝 접근 방식으로 해결할 수 있는 문제 유형에 대한 기본 아이디어를 제공하도록 설계되었습니다.

간단히 말해서 우리는 다음을 보았습니다.

  • 지도 학습: 레이블이 지정된 훈련 데이터를 기반으로 레이블을 예측할 수 있는 모델

  • 분류: 레이블을 두 개 이상의 개별 카테고리로 예측하는 모델

  • 회귀: 연속 레이블을 예측하는 모델

  • 비지도 학습: 레이블이 지정되지 않은 데이터의 구조를 식별하는 모델

  • 클러스터링: 데이터에서 고유한 그룹을 감지하고 식별하는 모델

  • 차원성 감소: 고차원 데이터에서 저차원 구조를 감지하고 식별하는 모델

다음 섹션에서는 이러한 범주 내에서 훨씬 더 깊이 들어가고 이러한 개념이 어디에 유용할 수 있는지에 대한 몇 가지 흥미로운 예를 살펴보겠습니다.

이전 논의의 모든 수치는 실제 머신러닝(Machine Learning) 계산을 기반으로 생성되었습니다. 그 뒤에 있는 코드는 부록: 그림 코드에서 확인합니다.