본문 바로가기

Python/[머신러닝]

1주차 : CH1 한눈에 보는 머신러닝

728x90
반응형

1.1 머신러닝이란?

머신러닝은 데이터에서 학습하도록 컴퓨터를 프로그래밍하는 과학(또는 예술)이다. (핸즈온 머신러닝 3판 1권 중)

머신 러닝

기계 학습 또는 머신 러닝은 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구이다.
 
기계 학습의 핵심은 표현과 일반화에 있다. 표현이란 데이터의 평가이며, 일반화란 아직 알 수 없는 데이터에 대한 처리이다.
기계 학습은 복잡한 패턴에 대한 학습을 통해 상황에 대한 예측과 의사 결정을 돕는다.

머신 러닝의 예시

1. 스팸 필터 : 스팸 메일과 일반 메일의 데이터를 이용해 스팸 메일을 구분하여 사용자에게 쾌적한 환경을 제공한다.
2. OCR 기술과 번역 기능 : AI 기반의 OCR 솔루션은 다양한 분야에서 활용되고 있다.
3. AI 기반 작곡: 최근 AI가 작곡하는 AI음원 시장이 새로운 시장으로 자리 잡고 있다.
 

 

안녕 AI, 인공지능과 음악에 대해 알려줘!

[BY 객석] SPECIAL안녕, AI. 인공지능과 음악에 관해 알려줘!‘객석’ 기자들이 떠나 본 놀라운 AI 세상...

m.post.naver.com

 

💡 작업(효율/성능)과 데이터의 양은 비례관계가 아니다! 💡

1.2 머신러닝을 사용하는 이유

방법 과정 결과
기존의 방법 1. 프로그램을 작성하고자 하는 환경의 패턴 및 실행 경향 분석
2. 패턴을 감지하는 알고리즘 작성
3. 충분한 성능 도출 시까지 (1),(2)번의 반복
새로운 데이터가 추가될 수록 규칙이 길고 복잡해짐에 따라 유지 보수가 어려움
머신러닝 1. 자주 나오는 패턴을 감지
2. 조건 분기 기준 판단을 자동으로 학습
프로그램이 짧아짐에따라 유지 보수가 쉬워지고 정확도가 상승함

스팸 필터와 머신러닝

스팸 필터를 예를 들어보자. 스팸 메일 판단 조건과 다른 스팸 메일이 온다면 이를 구분하기 위해 판단 조건을 수정하거나 추가해야 한다. 하지만 스팸 메일 발송자가 이를 대항해 지속적으로 단어를 변경한다면, 끝나지 않는 창과 방패의 싸움이 된다.
 
하지만 머신러닝 기반의 스팸 필터는 머신 러닝 모델의 훈련을 통해 특정 문자가 반복적으로 나타나는 것을 인식하고 별도의 작업 없이 자동으로 해당 단어를 스팸으로 분류할 수 있다.
 
또한 스팸 필터가 충분히 훈련되었다면 스팸이 일반적으로 어떠한 조합으로 이루어지는지 확인하거나 예측할 수 있다. 각 단어의 예상하지 못한 상관관계 혹은 스팸 추세를 발견해 향후 스팸 알고리즘 업데이트에 큰 도움을 줄 수 있다.

음성 인식과 머신러닝

음성은 개개인마다 피치와 사운드 강도가 다르다. 또한 음성을 사용하는 환경에서 소음은 불가피한 방해요소이다. 이를 하드코딩해서 각각의 상황과 사운드 강도를 조정하여 다양한 환경에서 수천 개의 단어를 구분하도록 설정하는 것은 거의 불가능하다.
 
이러한 상황에서 일일이 녹음 및 프로그래밍하는 것이 아니라 각 단어를 녹음한 샘플을 사용해 스스로 학습하는 머신러닝 알고리즘이 매우 효율적이다.
 
이처럼 대용량의 데이터를 분석하여 숨겨진 패턴을 발견하는 것을 데이터 마이닝이라고 하며, 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 분석하여 가치 있는 정보를 추출하는 과정을 일컫는다.

 

데이터 마이닝 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 데이터 마이닝(data mining)은 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 분석하여 가치있는 정보를 추출하는 과정이다. 다

ko.wikipedia.org

1.3 머신 러닝 활용 사례

  • 스팸메일 필터링: 머신러닝의 나이브 베이즈 분류(Naive Bayes Classifier)를 사용하여 이메일의 내용을 분석하고, 스팸 여부를 판단한다.
  • 추천 시스템: 온라인 쇼핑몰이나 스트리밍 플랫폼에서 협업 필터링(Collaborative Filtering) 기법을 이용해 사용자의 과거 행동과 유사한 사용자의 데이터를 기반으로 맞춤형 상품이나 콘텐츠를 추천한다.
  • 이미지 인식: 합성곱 신경망(Convolutional Neural Networks, CNN)을 활용해 사진 속 물체나 얼굴을 인식하며, 자율주행차에서는 도로의 사물과 보행자를 감지하는 데 사용한다.
  • 의료 진단: 의사결정 나무(Decision Trees)나 랜덤 포레스트(Random Forest) 기법을 통해 의료 데이터를 분석하고, 질병의 진단 및 예후를 예측한다.
  • 자연어 처리: 순환 신경망(Recurrent Neural Networks, RNN)과 트랜스포머(Transformers)를 이용해 텍스트 번역, 감정 분석, 챗봇 등에 적용되어 사람의 언어를 이해하고 처리한다.

참조

https://ko.wikipedia.org/wiki/나이브_베이즈_분류
https://ko.wikipedia.org/wiki/협업_필터링
https://ko.wikipedia.org/wiki/합성곱_신경망
https://ko.wikipedia.org/wiki/랜덤_포레스트
https://ko.wikipedia.org/wiki/순환_신경망

1.4 머신러닝 시스템의 종류

1.4.1. 훈련 지도 방식

머신러닝의 훈련 지도 방식에는 대표적으로 지도학습, 비지도학습, 준지도학습, 자기 지도학습, 강화학습이 있다.

지도 학습

 

지도 학습 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해 내기 위한 머신러닝의 한 방법이다.
훈련 데이터는 일반적으로 입력 객체에 대한 속성을 벡터 형태로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다.
분류가 전형적인 지도 학습 작업이며, 주어진 입력 벡터가 어떤 종류의 값인지 표식 하는 것을 말한다. 앞서 이야기한 스팸 필터는 많은 데이터를 통해 훈련되며 메일을 분류하는 조건에 대해 학습한다. 또한 특성을 사용해 타깃 수치를 예측하는 작업 또한 지도 학습 작업이며 이런 종류의 작업을 회귀라고 한다.
 
일부 회귀 알고리즘을 분류에도 사용할 수 있으며 이는 반대의 경우도 적용된다.

 

로지스틱 회귀 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 로지스틱 회귀(영어: logistic regression)는 영국의 통계학자인 D. R. Cox가 1958년[1]에 제안한 확률 모델로서 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을

ko.wikipedia.org

 
훈련 데이터로부터 하나의 함수가 유추되고 나면 해당 함수에 대한 평가를 통해 파라미터를 최적화한다. 이러한 평가를 위해 교차 검증이 이용되며 이를 위해 검증 집합을 다음의 3가지로 나눈다.
 
☑ 훈련 집합(A Training Set) : 입력 벡터와 "응답" 벡터로 이루어진 집합
☑ 검증 집합(A Validation Set) : 모델의 초매개변수를 선택하고 성능을 평가하기 위해 사용하는 데이터의 집합
☑ 테스트 집합(A Test Set) : 모델의 성능을 평가하기 위해 사용되는 데이터
 
다음은 훈련 집합, 검증 집합, 테스트 집합의 기능을 비교한 표이다:
 

집합 유형 기능 사용 시점 목적
훈련 집합 모델이 패턴을 학습하는 데 사용하는 데이터 학습 과정 모델의 파라미터(가중치)를 최적화하기 위해 사용
검증 집합 학습 중 모델의 성능을 평가하고, 과적합을 방지하거나 하이퍼파라미터를 튜닝하기 위해 사용 학습 과정 중(훈련 후 평가) 모델의 하이퍼파라미터(예: 학습률, 규제 등)를 최적화하고, 과적합을 모니터링하기 위해 사용
테스트 집합 최종적으로 모델의 일반화 성능을 평가하는 데 사용하는 데이터 학습 완료 후 학습되지 않은 새로운 데이터에 대해 모델이 얼마나 잘 작동하는지 평가하기 위해 사용

 
훈련 집합은 모델이 학습하는데 주로 사용되며, 검증 집합은 학습 도중 평가 및 튜닝에 쓰인다. 테스트 집합은 모델이 최종적으로 얼마나 잘 일반화되는지 확인하는 데 사용한다.

비지도 학습

비지도 학습훈련 데이터에 레이블이 할당되지 않는 학습을 비지도 학습이라고 한다.  이는 데이터가 어떻게 구성되었는지를 알아내는 문제의 범주에 속한다. 이 방법은 지도 학습(Supervised Learning) 혹은 강화 학습(Reinforcement Learning)과는 달리 입력값에 대한 목표치가 주어지지 않는다.
 
① 계측 군집

계층 군집

계층적_군집화
 

계층적 군집화 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 계층적 군집화(Hierarchical clustering, 계층적 클러스터 분석, 위계적 군집화, hierarchical cluster analysis, HCA)은 데이터 마이닝 및 통계학에서 클러스터 계층을 구축하려

ko.wikipedia.org

군집표집
 

군집표집 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 군집표집(cluster sampling)은 모집단에서 집단을 일차적으로 표집한 다음, 선정된 각 집단에서 구성원을 표본으로 추출하는 다단계 표집방법이다. 주로 모집단을

ko.wikipedia.org

 
계층적 군집화은 데이터 마이닝 및 통계학에서 클러스터 계층을 구축하려는 클러스터 분석 방법이다. 알고리즘이 고객의 데이터를 통해 주로 사는 물건의 카테고리를 분석하는 과정을 통해 계층 군집 알고리즘을 사용하면 더 작은 그룹으로 세분화할 수 있다.
 
A 마트가 있다고 가정하자. 이 마트에 방문하는 고객들을 묶기 위해 군집 알고리즘을 적용해 본다고 가정하자. 이때 군집(Cluster)은 생물학적 용어로써, 자연 발생적인 집단을 의미한다. 고객을 비슷한 그룹으로 묶기 위해서는 정보가 필요하지만 비지도 학습은 레이블이 할당되지 않으므로 알고리즘이 스스로 고객 간의 관계를 찾아야 한다.

포도의 열매가 모여 군집을 이룬 것 같은 모양을 말하며, 그룹핑하는 작업 클러스터라고 하기도 한다.

 
② 시각화
비지도 학습에서 시각화 알고리즘은 데이터의 구조와 패턴을 직관적으로 이해할 수 있도록 고차원 데이터를 저 차원으로 변환하여 시각화하는 데 사용된다. 이를 통해 데이터의 군집, 분포, 관계 등을 쉽게 파악할 수 있다. 또한 데이터의 조직을 이해할 수 있고 데이터의 패턴을 파악할 수 있다.
 
③ 차원 축소
차원 축소는 고차원 데이터를 저 차원으로 변환하여, 데이터의 핵심적인 구조나 패턴을 유지하면서 복잡성을 줄이는 기법이다. 고차원 데이터는 해석하기 어려울 수 있으며, 차원 축소를 통해 시각화하거나 효율적인 분석이 가능해진다.
 
④ 이상치 탐지
이상치 탐지는 정상 데이터와 다른 패턴을 보이는 데이터를 탐지하는 방법이다. 비지도 학습에서 이상치는 사전 레이블 없이 데이터를 분석해 찾아낸다. 일반적으로 이상치 탐지는 정상 데이터와 다른 위치에 있는 데이터 포인트를 발견하는 데 초점을 맞춘다.
 
▶ 금융 사기 탐지: 비정상적인 거래 패턴을 탐지하여 사기 가능성을 경고한다.
▶ 네트워크 보안: 네트워크 트래픽의 이상 패턴을 탐지하여 보안 위협을 식별한다.
▶ 제조업 품질 관리: 생산 공정에서 발생하는 이상 데이터를 탐지하여 품질 문제를 사전에 발견한다.
 
⑤ 특이치 탐지 : 훈련 집합에 있는 데이터와 달라 보이는 새로운 데이터를 탐지한 것이 목표
 
⑥ 연관 규칙 학습 : 대량의 데이터에서 특성 간의 흥미로운 관계를 찾는 학습(바비큐 고기 근처 마시멜로 진열)

준지도 학습

준 지도 학습이란 목푯값이 표시된 데이터와 표시되지 않은 데이터를 모두 훈련에 사용하는 것을 말한다. 다시 말해 레이블이 일부만 있는 데이터를 다루는 학습을 말한다. 대분분의 준지도 학습 알고리즘은 (지도 학습 + 비지도 학습)의 조합으로 이루어져 있다.

  • Google Photos는 사용자가 태그 한 일부 사진을 학습에 사용하고, 라벨이 없는 다른 사진들을 활용하여 준지도학습 방식으로 이미지 분류 모델을 개선한다.
  • 음성 인식 서비스는 일부 라벨이 있는 음성 데이터를 학습에 사용하고, 나머지 라벨이 없는 대규모 음성 데이터를 추가 학습에 활용하여 정확도를 높인다. Apple의 Siri나 Google Assistant와 같은 서비스가 이에 해당한다.

자기 지도 학습

 

자기 지도 학습 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 자기 지도 학습 (SSL)은 기계 학습의 한 방법이다. 레이블이 지정되지 않은 샘플 데이터에서 학습을 진행한다. 지도학습과 비지도 학습의 중간 형태로, 인공 신

ko.wikipedia.org

 
자기 지도 학습이란 레이블이 지정되지 않은 샘플 데이터에서 학습을 진행한다. 지도학습과 비지도 학습의 중간 형태로, 인공 신경망 또는 결정 리스트와 같은 인공지능 모델을 기반으로 한다. 전체 데이터셋에 레이블이 부여되면 다른 지도 학습 알고리즘을 사용할 수 있다.
자기 지도 학습의 학습 과정은 아래와 같다.
 
① 데이터에서 인위적으로 레이블을 생성한다.
② 그 레이블을 예측하는 문제를 모델이 해결하게 한다.
③ 예측과 실제 값의 차이를 손실 함수로 계산해 모델을 업데이트한다.
④ 학습된 특성을 전이 학습에 활용한다.
 
훈련된 모델을 통해 이미지를 복구 및 삭제할 수 있다. 이때 실제 관심 대상인 작업을 위해 모델을 수정 및 파인 튜닝 하는 과정이 필요하다. 이때 파인 튜닝(fine tuning)은 딥 러닝에서 사전 훈련된 모델의 가중치가 새로운 데이터에 대해 훈련되는 전이학습에 대한 접근 방식이다.
 
파인 튜닝은 일반적으로 지도 학습을 통해 수행되지만 약한 지도 학습을 사용하여 모델을 파인 튜닝하는 기술도 있다. 파인 튜닝은 인간 피드백 기반 목표의 강화 학습과 결합되어 ChatGPT(GPT-3의 파인 튜닝 버전)과 같은 언어 모델을 생성할 수 있다.

전이학습이란 하나의 문제를 해결하고 이와 다르면서 관련된 문제에 적용하는 동안 얻은 지식을 저장하는데 집중하는 학습으로, 예를 들어 자동차를 인식하기 위해 학습하는 동안 얻은 지식은 트럭 인식을 시도할 때 적용할 수 있다.

 

구분 지도 학습 비지도 학습 자기 지도 학습
데이터 특성 레이블이 있는 데이터 사용 레이블 없는 데이터 사용 레이블 없는 데이터를 사용하되, 인위적으로 레이블 생성
목표 입력 데이터에 맞는 레이블을 예측 데이터의 구조나 패턴을 탐색 및 학습 데이터에서 유용한 특성이나 표현을 학습
학습 방식 실제 레이블과 예측 값의 차이를 최소화 데이터 간의 유사성이나 관계성 탐구 인위적 레이블을 통해 손실을 최소화하는 예측 문제 해결
활용 객체 분류, 가격 예측 등 고객 세분화, 이상치 탐지 등 특성 학습 후 다양한 다운스트림 과제 적용
기법 분류, 회귀 (예: 의사결정나무, SVM, 신경망) 클러스터링, 차원 축소 (예: K-Means, PCA) 대조 학습, 마스크된 예측 (예: BERT, SimCLR)

 

강화 학습

강화학습이란 에이전트가 환경과 상호작용하면서 보상을 최대화하도록 학습하는 방법이다.

  1. 상태 인식 : 에이전트는 현재 상태를 관찰한다.
  2. 행동 선택 : 에이전트는 정책에 따라 행동을 선택한다.
  3. 보상 수신: 선택한 행동에 따라 환경으로부터 보상을 받는다.
  4. 상태 전이: 행동 후 새로운 상태로 이동한다.
  5. 정책 업데이트 : 받은 보상과 상태 전이를 기반으로 정책을 업데이트하여 다음 행동을 개선한다.

에이전트 : 학습하는 시스템 정책 : 가장 큰 보상을 얻기 위한 최상의 전략

 
정책은 주어진 상황에서 에이전트가 어떠한 행동을 택할지 정의한다.

1.4.2 배치 학습과 온라인 학습

머신러닝 시스템을 분류하는 데 시용하는 다른 기준은 입력 데이터의 스트림으로부터 점진적으로 학습할 수 있는지의 여부이다. 이때 데이터 스트림(data stream)은 연결지향통신에서, 전송된 정보를 수집하거나 정보를 전송할 때 사용되는 디지털 방식으로 암호화된 일관된 신호의 흐름을 말한다.

 

데이터 스트림 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

배치 학습

배치 학습에서는 시스템이 점진적으로 학습할 수 없으므로, 가용한 데이터를 모두 사용해 훈련시켜야 한다. 이때 배치 학습은 전체 데이터 집합을 한 번에 사용하여 모델을 훈련시키는 방식으로, 데이터가 전부 메모리에 적재되어야 하며 반복적인 학습 과정이 필요하다. 이 방식은 시간과 자원을 많이 소모하므로 오프라인에서 수행되며, 이를 훈련하여 다른 제품 시스템에 학습하는 하는 과정오프라인 학습이라고 한다.
 
데이터 드리프트는 머신러닝 모델을 트레이닝하는 데 사용되는 입력 데이터의 통계적 속성이 시간이 지남에 따라 변하는 현상을 말한다. 모델이 처음 학습한 입력 데이터는 모델에 적용하는 데이터를 새로운 정확하게 나타내지 않는 것을 말하며, 이러한 변화는 데이터의 수집 방법 및 환경 변화로 기인할 수 있다. 빠르게 변화하는 상황에서의 예측을 나타내는 경우 빠르게 성능이 저하될 가능성이 크다.

데이터 드리프트란?
 

데이터 드리프트란? | 퓨어스토리지 | 퓨어스토리지

데이터 드리프트는 시간이 지남에 따라 모델 입력 데이터의 점진적인 변화를 의미하며, 머신러닝의 예측 정확도에 영향을 미칩니다.

www.purestorage.com

데이터 드리프트 대응
 

시계열 인공지능 모델의 성능저하 막는다!...UNIST 연구팀, 데이터 드리프트에 강력한 시계열 학습

시계열 인공지능(AI) 모델의 성능을 저하시키는 현상에 효과적으로 대응할 수 있는 학습 기술이 개발됐다. 국내 산업에서의 인공지능 활용 가능성 제고와 성능 강화에 기여할 수 있을 것으로 기

www.aitimes.kr

장점 단점
모든 데이터를 기반으로 모델을 학습하여 더 정확한 결과를 얻을 수 있다. 데이터 전체를 메모리에 적재해야 하므로 메모리 사용량이 많다.
전체 데이터로 훈련하기 때문에 경량화된 모델을 제공하며, 학습 안정성이 높다. 전체 데이터 처리로 인해 훈련 시간이 길어질 수 있다.
데이터의 모든 샘플을 사용하여 업데이트하기 때문에 업데이트가 일관된다. 데이터 전체를 사용해 훈련하기 때문에 피드백이 지연될 수 있다.
시스템을 훈련, 평가, 론칭하는 과정이 쉽게 자동화할 수 있다. 새로운 데이터 학습 시에 시스템의 새로운 버전을 처음부터 훈련시켜야한다.

온라인학습

온라인 학습데이터가 연속적으로 들어올 때, 모델을 한 번에 하나씩 학습하는 방법으로, 데이터를 순차적으로 한 개씩 또는 미니 배치(mini-batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다.
 
데이터가 도착할 때마다 즉시 학습하고, 이를 통해 모델을 점진적으로 업데이트한다. 매 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습할 수 있다.

온라인 학습 과정

온라인 학습 시스템에서 변화하는 데이터에 얼마나 빠르게 적응할지에 대한 파라미터학습률이라고 한다.
 
온라인 학습에서 학습률이 높으면 새로운 데이터에 대한 적응이 빠르지만, 안정성은 떨어질 수 있다. 낮은 학습률은 더 안정적인 학습을 제공하지만, 적응 속도가 느릴 수 있다.

장점 단점
전체 데이터가 아니라 도착하는 데이터만 사용하므로 메모리 요구량이 적다. 새로운 데이터에 대해 모델이 자주 업데이트되므로 성능이 변동할 수 있다.
데이터가 도착하는 대로 모델을 업데이트할 수 있어 실시간 대응이 가능하다. 단기적인 데이터에 과도하게 적응할 수 있어 장기적인 안정성이 떨어질 수 있다.
환경의 변화에 빠르게 적응할 수 있다. 작은 배치로 인해 전체 데이터에 비해 학습 속도가 느릴 수 있다.
메인 메모리에 들어가지 않는 아주 큰 데이터넷에서 모델 학습이 가능하다. 시스템에 정확하지 않는 데이터가 주입 시 시스템 성능이 감소한다.

1.4.3 사례 기반 학습과 모델 기반 학습

어떻게 일반화되는가에 따라 머신러닝 시스템을 분류할 수도 있다.
 
머신러닝에서 일반화 (Generalization)는 모델이 훈련 데이터에 잘 맞추는 것을 넘어, 새로운 데이터에서도 높은 성능을 유지하는 능력을 의미한다. 즉, 모델이 훈련 데이터에 과도하게 맞춰져서 오버피팅하지 않고, 실제 사용되는 데이터에서 유용한 예측을 할 수 있는 능력을 말한다.
 
대부분의 머신러닝 작업은 예측을 만드는 것으로, 지속적으로 새로운 데이터에서 높은 성능을 유지해야 한다. 다만 높은 성능을 내는 것만이 전부가 아니라 새로운 샘플에 잘 작동하는지가 중요한 부분이다.
 
일반화를 위한 두 가지 접근법은 사례 기반 학습과 모델 기반 학습이다.

사례 기반 학습

새로운 입력에 대한 예측을 위해 과거의 유사한 사례를 찾아 활용하는 방법으로, 학습 과정에서 모델이 직접적으로 예측을 위한 규칙을 만들기보다는 저장된 사례들에서 직접 유사한 사례를 검색하여 예측한다. 이후 유사도 측정을 통해 새로운 데이터와 학습한 샘플을 비교하는 방식으로 일반화한다.
 
예를 들어 스팸 메일로 지정한 데이터와 동일한 메일을 “스팸”으로 지정하는 대신 스팸과 유사한 메일을 구분하도록 한다. 두 메일과 유사도를 측정해 구분하며, 유사도는 공통으로 포함된 단어의 수를 확인하여 구한다.

사레 기반 학습

모델 기반 학습

샘플로부터 일반화시키는 다른 방법은 이 샘플들의 모델을 만들어 예측에 사용하는 학습모델 기반 학습이라고 한다.

모델 기반 학습

  • 모델 파라미터 (Model Parameters):
    • 설명: 모델이 학습을 통해 조정하는 값들로, 입력 데이터와 출력 사이의 관계를 정의한다. 모델의 구조를 결정하고 예측을 수행하는 데 사용된다.
    • 예시: 선형 회귀에서의 기울기와 절편, 신경망에서의 가중치와 바이어스.
  • 효용 함수 (Utility Function):
    • 설명: 의사결정 문제에서 특정 행동이나 선택이 얼마나 유용한지를 측정하는 함수이다. 머신러닝에서는 주로 강화학습에서 사용되며, 주어진 상태에서의 행동의 가치를 평가한다.
    • 예시: 강화학습에서 에이전트가 특정 행동을 선택했을 때 얻는 보상.
  • 비용 함수 (Cost Function):
    • 설명: 모델의 예측과 실제 값 간의 차이를 측정하는 함수로, 모델의 성능을 평가하고 학습 과정에서 최소화하려는 대상이다. 낮은 비용 함숫값은 모델의 예측이 실제 값과 더 가까움을 의미한다.
    • 예시: 선형 회귀에서의 평균 제곱 오차 (Mean Squared Error, MSE), 분류 문제에서의 교차 엔트로피 손실 (Cross-Entropy Loss).

1.5 머신러닝의 주요 도전 과제

간단히 말해 모델을 선택해서 어떤 데이터에 훈련시키는 것이 주요 작업이기 때문에 문제가 될 수 있는 것은 ‘나쁜 모델’과 ‘나쁜 데이터’입니다. (핸즈온 머신러닝 3판 1권 중)

1.5.1 충분하지 않은 양의 훈련 데이터

머신러닝은 아직 이렇게까지는 못합니다. 대부분의 머신러닝 알고리즘이 잘 작동하려면 데이터가 많이야 합니다. 아주 간단한 문제에서도 수천 개의 데이터가 펼 요하고 이미지나 음성 인식 같은 복잡한 문제라면 수백만 개가 필요할지도 모릅니다(이미 만들어진 모델을 재사용할 수 없다면 말이죠).

1.5.2 대표성 없는 훈련 데이터

데이터가 문제를 잘 대표하지 않으면, 모델은 학습 데이터에만 과적합될 수 있으며, 새로운 데이터에 대한 예측 성능이 떨어질 수 있다.
 
따라서 데이터의 대표성이 높아야 모델이 실제 상황에서도 효과적으로 일반화할 수 있다. 이는 사례 기반 학습이나 모델 기반 학습 모두 적용된다. 훈련 세트에서 샘플이 적은 경우 샘플링 잡음이 발생하며, 샘플이 매우 큰 경우 샘플링 편향이 발생할 수 있다.
 

용어 설명
샘플링 잡음 샘플링 과정에서 발생하는 무작위 오류로, 데이터에 불규칙적이고 예측 불가능한 변동을 추가한다.
샘플링 편향 샘플이 모집단을 정확하게 대표하지 못하는 경우로, 특정 그룹이 과도하게 또는 부족하게 포함된다.

 
샘플링 잡음은 데이터의 일관성을 감소시키는 무작위 오류와 관련이 있고, 샘플링 편향은 데이터의 대표성을 왜곡하여 모델의 일반화 능력에 영향을 미친다.

1.5.3 낮은 품질의 데이터

훈련 데이터가 오류, 이상치, 잡음으로 기득 하다면 머신러닝 시스템이 내재된 패턴을 찾기 어려워 제대로 작동하지 않을 것입니다. 그렇기 때문에 훈련 데이터 정제에 시간을 투자할 만한 가치는 충분합니다. 사실 대부분의 데이터 과학자가 데이터 정제에 많은 시간을 쓰고 있습니다. (핸즈온 머신러닝 3판 1권 중)

  • 결측값 처리: 데이터셋에 결측값이 있는 경우, 이를 적절히 처리하지 않으면 모델의 성능이 저하된다. 결측값을 채우거나 제거하는 과정이 필요하다.
  • 이상치 제거: 데이터에 극단적이고 비정상적인 값(이상치)이 포함되어 있으면, 모델이 잘못된 학습을 할 수 있다. 이상치를 탐지하고 처리하는 과정이 필요하다.
  • 데이터 불균형 조정: 클래스 분포가 불균형한 경우(예: 한 클래스의 샘플이 다른 클래스보다 월등히 많은 경우), 모델이 특정 클래스에 치우쳐 학습될 수 있다. 이를 해결하기 위해 오버샘플링, 언더샘플링 등으로 데이터 균형을 맞추는 과정이 필요하다.

1.5.4 관련 없는 특성

머신러닝에서 학습 결과는 데이터의 특성에 따라 달라진다. 데이터가 정확하고 관련 있는 특성으로 잘 구성되면 모델의 성능이 향상된다. 반면, 잘못된 특성이나 노이즈가 많으면 성능이 떨어질 수 있다.
 
특성 공학은 이러한 모델 성능을 개선하기 위해 데이터에서 유용한 특성을 추출하거나 새로운 특성을 만드는 과정으로, 주요 기법에는 중요 특성 선택, 특성 추출, 데이터 수집이 있다.
 
■ 특성 선택 :가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택한다.
■ 특성 추출 : 특성을 결합하여 더 유용한 특성을 만든다.
■ 데이터 수집: 새로운 데이터를 수집해 새 특성을 만든다.

1.5.5 훈련 데이터 과대적합

 

과적합 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 
머신러닝에서 과대접합(Overfitting)은 모델이 훈련 데이터에 너무 잘 맞춰져서 새로운 데이터에 대한 일반화 능력이 떨어지는 현상이다.
 
모델이 훈련 데이터의 세부적인 패턴이나 잡음을 학습하게 되어, 훈련 데이터에서는 높은 성능을 보이지만 테스트 데이터나 실제 데이터에서는 성능이 낮아지는 문제가 발생한다.
 
다시 말해, 모델이 훈련 데이터에는 너무 잘 맞지만 일반성이 떨어지는 경우를 말한다.
 
과대적합은 훈련 데이터의 앙과 잡음에 비해 모델이 너무 복잡할 때 일어나며 해결 방법은 다음과 같다.
 
① 파라미터 수가 적은 모델을 선택/ 훈련 데이터에 있는 특성수를 축소 / 모델에 제약을 가해 단순화
더 많은 훈련 데이터 수집
③ 훈련 데이터의 잡음을 감쇠(오류 데이터 수정과 이상치 제거)

1.5.6 훈련 데이터 과소적합

 

과소적합 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 
머신러닝에서 과소접합(Underfitting)은 통계 모형의 능력 부족으로 학습 데이터를 충분히 설명하지 못하도록 부족하게 학습된 것을 뜻한다. 이로 인해 훈련 데이터와 테스트 데이터 모두에서 낮은 성능을 보이며, 모델이 데이터의 중요한 관계를 학습하지 못해 예측이 부정확해진다.
 
이 문제를 해결하는 주요 기법은 다음과 같다.
 
① 모델 파라미터가 더 많은 모델을 선택한다.
② 학습 알고리즘에 더 좋은 특성을 제공한다.
③ 모델의 제약을 줄인다.

1.6 테스트와 검증

새로운 샘플에 모델 적용 → 모델의 일반화 확인 → 적용하기 전까지는 알 수 없음
따라서 훈련 데이터를 훈련 세트와 테스트 세트로 나누어 훈련을 진행하는 것이 효율적이다.
 
✅ 훈련 세트: 모델을 훈련하는 세트
✅ 테스트 세트: 모델을 테스트하는 세트
 
새로운 샘플에 대한 오차 비율을 일반화 오차라고 하며, 테스트 세트에서 모델을 평가함으로써 이 오차에 대한 추정값을을 얻는다. 이 값은 새로운 샘플에 모델이 얼마나 잘 작동할지 알려준다. 이때, 훈련 오차가 작지만 일반화 오차가 크다면 이는 모델 이 훈련 데이터에 과대적합되었다는 뜻이다.
 

모델 기반 알고리즘이 찾는 것은 무엇인가요? 성공을 위해 이 알고리즘이 시용하는 가장 일반적인 전략은 무엇인가요? 예측은 어떻게 만드나요?
  • 모델 기반 학습은 적절한 모델 선택과 손실 함수 최소화를 통해 예측 성능을 향상한다. 과적합을 방지해 데이터의 일반화 성능을 개선하는 것이 중요하며, 반복적인 학습과 평가로 최종 모델 성능을 검증한다.
  • 데이터를 분석하고 데이터 간의 경향을 찾는다.
  • 샘플들의 모델을 만들어 예측을 수행한다.
    • 데이터를 분석한다.
    • 적절한 모델을 선택한다.
    • 모델의 효용함수와 비용 함수를 정의한다.
    • 알고리즘에 훈련 데이터를 공급하면 데이터에 가장 잘 맞는 선형 모델의 파라미터를 찾는다.
    • 새로운 데이터에 모델을 적용해 예측을 만든다.
더보기

 모델 기반 학습 알고리즘은 새로운 샘플에 잘 일반화되기 위한 모델 파라미터의 최적값을 찾습니다. 일반적으로 훈련 데이터에서 시스템의 예측이 얼마나 나쁜지 측정하고 모델에 규제가 있다면 모델 복잡도에 대한 페널티를 더한 비용 함수를 최소화함으로써 시스템을 훈련시킵니다. 예측을 민들려면 학습 알고리즘이 찾은 파라미터를 시용하는 모델의 예측 함수에 새로운 샘플의 특성을 주입합니다.

 

728x90
반응형

'Python > [머신러닝]' 카테고리의 다른 글

4주차: 모델 훈련  (0) 2024.10.01
2주차: 머신러닝 프로젝트 처음부터 끝까지  (2) 2024.09.24
3주차: 분류  (1) 2024.09.24
댓글