검색
검색
공개 노트 검색
회원가입로그인

지도학습 ( Supervised Learning )

지도학습(Supervised Learning) 이란?

이미 주어진 입력에 대해 어떤 결과가 나올지 알고 있는, 전문 용어로는 Labeling이 된, 출력과의 관계를 이용해서 데이터 틀을 해석할 수있는 모델을 만들고, 그것을 바탕으로 새로운 데이터를 추정(predict)하는 것을 말한다.

좋은 학습 데이터를 얻으려면, 일반적으로 훈련 데이터의 양이 많아야 하며, 훈련 데이터가 범용성을 갖고 있어야 한다.

지도학습(Supervised Learning)을 이해하기 쉽게 설명할 수 있는 예시 중 하나는 이메일 스팸 필터입니다. 이메일 시스템은 많은 이메일을 받고 각 이메일을 '스팸' 또는 '스팸 아님'으로 분류해야 합니다. 이를 위해 지도학습을 사용할 수 있습니다.

1. 데이터 수집: 먼저, 이미 '스팸' 또는 '스팸 아님'으로 레이블(태그)이 붙은 많은 이메일을 수집합니다. 이 레이블이 붙은 데이터를 훈련 데이터셋이라고 합니다.

2. 모델 훈련: 훈련 데이터셋을 사용하여 이메일의 내용, 발신자 정보, 이메일에 포함된 링크 수 등 다양한 특징(피처)을 기반으로 이메일이 스팸인지 아닌지를 예측하는 모델을 만듭니다. 이 과정에서 컴퓨터는 데이터에서 패턴을 학습하고, 어떤 특징이 스팸을 나타내는지 이해하게 됩니다.

3. 예측 수행: 모델이 훈련되고 나면, 새로운 이메일이 시스템에 도착했을 때, 이 이메일이 스팸인지 아닌지를 예측할 수 있습니다. 이메일의 특징을 모델에 입력으로 제공하면, 모델은 그 이메일이 스팸일 확률을 출력합니다.

4. 평가 및 개선: 모델의 예측이 정확한지 평가하기 위해 일부 레이블이 붙은 데이터를 사용하여 모델의 성능을 검증합니다. 성능이 충분하지 않다고 판단되면 추가적인 특징을 모델에 포함시키거나 다른 종류의 모델을 시도해 볼 수 있습니다.

이처럼 지도학습은 레이블이 붙은 데이터를 바탕으로 패턴을 학습하고, 이를 통해 새로운 데이터에 대한 예측을 수행합니다. 이는 매우 다양한 분야에서 응용이 가능하며, 이메일 스팸 탐지 외에도 의료 이미지 분석, 금융 사기 탐지, 음성 인식 등에 활용됩니다.

지도 학습 단계

1. 학습에 사용할 훈련 데이터를 정한다. 훈련 데이터는 모델의 성패 여부를 결정하기 때문에 잘 선정을 해야 한다.

2. 훈련 데이터를 모은다.

3. 입력의 특징(Feature)을 어떻게 표현할 것인지 결정한다. 일반적으로는 벡터 형태로 표현을 한다. 차원의 저주(curse of dimensionally)에 빠지지 않도록 특징의 수를 너무 크게 해서는 안된다.

4. 학습 알고리즘을 결정한다. 지도 학습 방법을 사용할 알고리즘이 매우 많고 그 특성도 다양하기 때문에 적용할 분야에 맞춰 적정한 알고리즘을 선택해야 한다.

5. 훈련 데이터를 이용해 학습 알고리즘을 실행한다.

6. 만들어진 모델의 정확도를 평가한다. 보통은 훈련 데이터와 다른 테스트 데이터를 이용해 이 과정을 수행한다.

주택 가격 예측 모델 만들기

  1. 훈련 데이터 선정: 부동산 시장 데이터를 활용하여 주택 가격을 예측하는 모델을 개발하고자 합니다. 이 때, 모델의 성능은 사용할 데이터의 질과 양에 크게 의존합니다. 따라서 다양한 지역에서 수집된 주택의 가격, 위치, 크기, 건축 연도, 주변 편의 시설 등의 정보를 포함하는 데이터셋이 필요합니다.

  2. 훈련 데이터 수집: 온라인 부동산 데이터베이스, 공공 데이터 세트, 부동산 회사 등에서 수집한 실제 주택 판매 데이터를 사용합니다.

  3. 입력 특징(Feature) 표현 결정: 각 주택의 특징을 벡터 형태로 변환합니다. 예를 들어, 주택 크기(제곱미터), 방 개수, 건축 연도, 도심까지의 거리 등을 수치로 나타내 벡터를 구성합니다. 이 벡터가 모델 입력으로 사용됩니다.

  4. 학습 알고리즘 선택: 주택 가격 예측에 적합한 알고리즘을 선택합니다. 선형 회귀, 결정 트리, 랜덤 포레스트 등 여러 알고리즘 중에서, 데이터의 특성과 예측 목표에 따라 가장 효과적인 알고리즘을 선택합니다.

  5. 모델 학습: 선택된 알고리즘을 사용하여 수집한 훈련 데이터로 모델을 학습시킵니다. 이 과정에서 컴퓨터는 데이터 내의 패턴을 파악하고, 주택의 특징과 가격 사이의 관계를 학습합니다.

  6. 모델 정확도 평가: 별도의 테스트 데이터셋을 사용하여 학습된 모델의 정확도를 평가합니다. 이 데이터는 모델 학습에 사용되지 않은 새로운 데이터로, 모델의 일반화 능력을 테스트하는 데 사용됩니다.

입력 특징(Feature)을 벡터 형태로 변환한다는 것은 데이터를 수치화하여 고차원의 벡터 공간에 위치시키는 과정을 의미합니다. 이 과정은 기계 학습 모델이 데이터를 이해하고 처리할 수 있도록 만들어주는 중요한 단계입니다. 벡터 형태로의 변환을 통해, 각 데이터 포인트는 다차원 공간의 하나의 점으로 표현됩니다.

벡터 형태로의 변환 예시

예를 들어, 주택 데이터를 처리할 때 다음과 같은 특징들을 벡터로 표현할 수 있습니다:

  • 주택 크기: 주택의 총 면적을 제곱미터 단위로 나타냅니다.

  • 방 개수: 주택 내의 총 방 수를 나타냅니다.

  • 건축 연도: 주택이 건축된 연도를 나타냅니다.

  • 도심까지의 거리: 주택으로부터 도심까지의 거리를 킬로미터 단위로 나타냅니다.

각 주택은 이러한 특징들을 기반으로 하는 벡터로 표현될 수 있으며, 예를 들어 하나의 주택이 100제곱미터 크기에 3개의 방을 가지고, 1985년에 지어졌으며 도심까지 5km 떨어져 있다면, 이 주택은 다음과 같은 벡터로 표현될 수 있습니다:

벡터=(100,3,1985,5)벡터=(100,3,1985,5)

이 벡터는 주택에 대한 정보를 수치적으로 요약한 것으로, 각 성분은 주택의 특정 특징을 나타냅니다. 이렇게 표현된 벡터는 머신러닝 모델이 패턴을 인식하고, 다른 주택 데이터에 대해 예측을 수행하는 데 사용됩니다.

벡터 공간에서의 데이터 표현의 중요성

이러한 벡터 공간의 표현은 머신러닝 알고리즘이 데이터 간의 관계를 수학적으로 분석할 수 있게 해줍니다. 예를 들어, 거리 계산, 클러스터링, 분류 등 다양한 작업을 통해 데이터 내의 패턴을 찾아내고, 이를 기반으로 예측이나 결정을 내릴 수 있습니다. 벡터 형태로의 데이터 표현은 데이터의 정량화, 비교 및 분석을 가능하게 하는 핵심적인 기법입니다.

조회수 : 299
heart
공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
T
페이지 기반 대답
AI Chat