본문 바로가기
컴퓨터공학/AI

기계 학습 1.기본 개념

by Jinger 2023. 9. 13.

서론

    머신 러닝(Machine Learning)은 데이터로부터 학습하는 컴퓨터 과학의 한 분야이다. 최근에 AI가 많은 관심을 받고 있다. 이 기술은 최근에 만들어진 개념이 아니라, 과거부터 존재했던 개념이다. Arthur Samuel(1959)은 "머신 러닝은 컴퓨터가 데이터로부터 학습할 수 있도록 프로그래밍하는 과학"이라고 정의했다. Tom Mitchell(1997)은 "머신 러닝은 컴퓨터에게 명시적으로 프로그래밍하지 않고도 학습할 수 있는 능력을 부여하는 연구 분야"라고 설명했다. 이렇듯 과거에서도 많은 연구가 있었고 현재에 와서 다양한 실용성을 가진 인공지능이 등장했기에 각광을 받는 것이다.


머신 러닝(Machine Learning, 기계학습)

핵심 개념

     머신 러닝의 핵심 개념 중 하나는 경험(E)에 따라 어떤 작업(T)의 성능을 향상하는 것이다. 즉, 어떤 작업(T)와 그 작업을 평가하는 성능 측정 지표(P)가 주어졌을 때, 컴퓨터 프로그램이 경험(E)을 통해 작업 T에서의 성능(P로 측정)을 향상하면 그 프로그램은 학습한다고 할 수 있다.
    예를 들어, 스팸 필터는 스팸 이메일과 정상 이메일의 예시를 제공받아 스팸을 감지하는 방법을 학습할 수 있는 머신 러닝 프로그램이다. 이때, 학습에 사용되는 예시를 훈련 세트(training set)라고 하며, 각각의 훈련 예시는 훈련 인스턴스(또는 샘플)라고 한다. 작업(T)은 새로운 이메일에 대한 스팸 감지이고, 경험(E)은 훈련 데이터이다. 성능 측정 지표(P)는 예를 들어 올바르게 분류된 이메일의 비율인 정확도(accuracy)와 같은 것이 될 수 있다.

기계학습을 하는 이유

전형적인 프로그래밍/머신러닝

    전통적인(traditional) 프로그래밍 기술을 사용하여 스팸 필터를 만들려면 스팸 특징을 미리 파악하고 이러한 특징을 기반으로 감지 알고리즘을 작성해야 한다. 그러나 이 방법은 복잡한 규칙의 목록으로 이어져 유지 관리가 어렵다. 반면, 머신 러닝을 기반으로 한 스팸 필터는 스팸과 정상 이메일 사이의 단어 패턴을 자동으로 학습하며, 이로써 프로그램이 훨씬 짧고 유지 관리가 용이하며 정확도가 높아진다. 또한, 스팸 필터가 "4U"와 같은 특정 표현을 차단할 때 스팸 발송자들은 이를 우회하기 위해 "For U"와 같은 새로운 표현을 사용할 수 있지만, 머신 러닝을 기반으로 한 스팸 필터는 사용자가 신고한 스팸에서 "For U"와 같은 새로운 패턴을 스스로 학습하여 이를 감지할 수 있다. 머신 러닝은 전통적인 방법으로는 해결하기 어려운 복잡한 문제나 알려진 알고리즘이 없는 문제에 대한 효과적인 해결책을 제공하며, 대표적인 예로 음성 인식 및 대용량 데이터의 패턴 발견(데이터 마이닝) 등이 있다.

머신 러닝 학습 과정

   즉, 머신러닝은 다음과 같은 용도에 적합하다.

  • 기존 솔루션에 많은 미세 조정이나 긴 규칙 목록이 필요한 문제: 하나의 기계 학습 알고리즘은 종종 코드를 단순화하고 기존 접근 방식보다 더 나은 성능을 발휘할 수 있다.
  • 전통적인 접근 방식을 사용하면 좋은 해결책이 나오지 않는 복잡한 문제: 최고의 기계 학습 기술을 사용하면 아마도 해결책을 찾을 수 있다.
  • 변동하는 환경: 머신러닝 시스템은 새로운 데이터에 적응할 수 있다.
  • 복잡한 문제와 대량의 데이터에 대한 통찰력을 얻을 수 있다.

활용처

  • 생산라인의 제품 이미지를 분석하여 자동 분류
  • 뇌 스캔으로 종양 탐지
  • 뉴스 기사 자동 분류
  • 토론 포럼에서 불쾌한 댓글을 자동으로 신고
  • 긴 문서를 자동으로 요약
  • 챗봇이나 개인 비서 만들기
  • 다양한 성과 지표를 기반으로 회사의 내년 수익 예측
  • 앱이 음성 명령에 반응하도록 만들기
  • 신용카드 사기 적발
  • 각 세그먼트에 대해 다양한 마케팅 전략을 설계할 수 있도록 구매를 기준으로 고객을 분류합니다.
  • 복잡하고 고차원적인 데이터 세트를 명확하고 통찰력 있는 다이어그램으로 표현
  • 과거 구매 내역을 바탕으로 고객이 관심을 가질 만한 상품 추천
  • 게임용 지능형 봇 구축

분류

   머신러닝 시스템을 광범위한 범주로 분류할 수 있으며 다음과 같은 기준으로 분류할 수 있다.

  1. 사람의 감독하에 훈련을 받았는지 여부(Supervied/Unsupervised, Semisupervised, Reinforcement learing)
  2. 즉석에서 점진적으로 학습할 수 있는지 여부(온라인(Online) vs 일괄 학습(Batch))
  3. 단순히 새로운 데이터 포인트를 알려진 데이터 포인트와 비교하는 방식으로 작동하는지 아니면 대신 과학자들이 하는 것처럼 훈련 데이터에서 패턴을 감지하고 예측 모델을 구축하여 작동하는지 여부(인스턴스 기반 학습(Instance Base Learning)&모델 기반 학습(Model Base Learning))

분류 1

Supervised learning

Classification/Regression

    지도 학습(Supervied learing)훈련 데이터에 원하는 결과를 나타내는 "라벨"(label, 정답)이 포함된 상태로 알고리즘을 훈련시키는 기계 학습 방법이다. 이 방법의 전형적인 작업 중 하나는 분류(Classification)로, 스팸 필터와 같이 많은 예시와 그에 대한 클래스(스팸 또는 햄)를 사용하여 새로운 데이터를 어떻게 분류할지를 학습하는 것이다. 또 다른 전형적인 작업은 회귀(Regression)로, 주행거리, 연식, 브랜드 등의 특성을 사용하여 자동차의 가격과 같은 목표 숫자 값을 예측하는 것이다. 이를 위해 시스템을 훈련시키려면 자동차의 다양한 예시를 주어진 특성과 가격(라벨)과 함께 제공해야 한다. 지도 학습은 머신 러닝의 중요한 분야 중 하나이며, 예측과 분류 문제를 해결하는 데 사용된다.

  • k-Nearest Neighbors
  • Linear Regression
  • Logistic Regression
  • Support Vector Machines (SVMs)
  • Decision Trees and Random Forests
  • Neural networks

Unsupervised learning

    비지도 학습(Unsupervised Learning)은 머신 러닝의 한 분야로, 훈련 데이터가 라벨(정답)이 없는 상태에서 시스템이 스스로 학습하는 방법을 말한다. 이때, 데이터 사이의 유용한 패턴, 그룹, 또는 관계를 찾는 것이 주요 목표이다. 예를 들어, 블로그 방문자에 대한 데이터가 주어진 경우, 클러스터링 알고리즘을 사용하여 비슷한 방문자 그룹을 찾아내려 할 수 있다. 이때, 어떤 방문자가 어떤 그룹에 속하는지를 사전에 알려주지 않고 알고리즘이 스스로 이러한 관계를 찾아내야 한다. 비지도 학습의 다른 예로는 시각화 알고리즘이 있다. 이러한 알고리즘은 복잡하고 라벨이 없는 데이터를 입력으로 받아 이를 2D 또는 3D로 표현하여 시각적으로 나타낼 수 있다.

    또 다른 비지도 학습 작업으로는 차원 축소(Dimensionality Reduction)가 있으며, 이때의 목표는 데이터를 단순화하면서도 정보 손실을 최소화하는 것이다. 이는 상관관계가 있는 여러 특성을 하나로 병합하는 방식으로 이루어질 수 있으며, 이를 특징 추출(Feature Extraction)이라고 한다. 위 예시를 보면, 좌측에 탈 것들이 우측에는 동물들이 있고, 서로 비슷한 것들 끼리 가까이 붙어 있는 것을 확인할 수 있다.

    비지도 학습의 중요한 작업 중 하나는 이상 탐지(Anomaly Detection)로, 예를 들어 사기 예방을 위한 신용 카드 거래의 비정상적인 패턴을 감지하거나 제조 결함을 찾거나 데이터 집합에서 이상치를 자동으로 제거하는 작업에 사용된다. 또 다른 일반적인 비지도 학습 작업으로는 연관 규칙 학습(Association Rule Learning)이 있으며, 이때의 목표는 대규모 데이터에서 속성 간의 흥미로운 관계를 발견하는 것이다. 예를 들어, 슈퍼마켓을 운영하는 경우, 판매 로그에 연관 규칙을 적용하면 바비큐 소스와 감자 칩을 구매한 고객이 스테이크도 구매하는 경향이 있다는 관계를 발견할 수 있으며, 따라서 이러한 상품들을 가까이 배치하고 판매 전략을 조정할 수 있다.

  • Clustering
    • K-Means
    • DBSCAN
    • Hierarchical Cluster Analysis (HCA)
  • Anomaly detection and novelty detection
    • One-class SVM
    • Isolation Forest
  • Visualization and dimensionality reduction
    • Principal Component Analysis (PCA)
    • Kernel PCA
    • Locally Linear Embedding (LLE)
    • t-Distributed Stochastic Neighbor Embedding (t-SNE)
  • Association rule learning
    • Apriori
    • Eclat

Semisupervised learning

    준지도 학습(Semisupervised Learning)은 데이터 라벨링이 시간과 비용이 많이 드는 작업이기 때문에 일반적으로 라벨이 지정되지 않은 인스턴스가 많고, 라벨이 지정된 인스턴스가 적은 경우에 유용한 머신 러닝 방법이다. 준지도 학습 알고리즘은 부분적으로 라벨이 지정된 데이터를 처리할 수 있다.
    예를 들어, 구글 포토와 같은 일부 사진 호스팅 서비스는 준지도 학습의 좋은 예이다. 사용자가 가족사진을 업로드하면 서비스는 자동으로 사람 A가 사진 1, 5 및 11에서 나타나고, 다른 사람 B가 사진 2, 5 및 7에서 나타난다는 것을 인식한다. 이것은 알고리즘의 비지도 부분(클러스터링)이다. 이제 시스템은 이 사람들이 누구인지 알려주기만 하면 된다. 각 사람 당 하나의 라벨을 추가하면 시스템은 모든 사진에서 모든 사람의 이름을 알아낼 수 있다. 대부분의 반지도 학습 알고리즘은 비지도 학습과 지도 학습 알고리즘의 조합이다.

Reinforcement learning

    강화 학습(Reinforcement Learning)은 다른 학습 방식과 매우 다르다. 이 학습 시스템은 "에이전트(agent)"라고 불리며, 환경을 관찰하고, 행동을 선택하고 수행하며, 그 결과로 보상을 받을 수 있다. 이 방식은 학습 에이전트가 환경과 상호작용하며 보상을 최적화하기 위해 최상의 행동을 학습하는 것을 중점으로 한다.

분류 2

Batch learning

    일괄 학습(Batch Learning)은 시스템이 점진적으로 학습하는 것이 불가능하며, 모든 사용 가능한 데이터를 사용하여 훈련되어야 한다. 이로 인해 보통 많은 시간과 컴퓨팅 자원이 필요하므로 일반적으로 오프라인에서 수행된다. 먼저 시스템을 훈련한 다음, 프로덕션 환경으로 전환하여 더 이상 학습하지 않고 학습한 내용을 적용하는 방식이다. 이를 오프라인 학습(Offline Learning)이라고도 한다. 새로운 데이터(예: 새로운 유형의 스팸)를 일괄 학습 시스템에 알려주려면 새로운 시스템 버전을 전체 데이터셋(새 데이터뿐만 아니라 이전 데이터도 포함)에서 처음부터 다시 훈련해야 하며, 이전 시스템을 중지하고 새로운 시스템으로 교체해야 한다.

Online learning

    온라인 학습(Online Learning)데이터 인스턴스를 순차적(sequentially)으로 혹은 작은 그룹인 미니배치(minibatches)로 시스템에 공급함으로써 시스템을 점진적(incrementally)으로 훈련하는 방식이다. 각 학습 단계가 빠르고 비용이 적으므로 시스템은 데이터가 도착하는 대로 즉시 새로운 데이터에 대해 학습할 수 있다. 온라인 학습 알고리즘은 메인 메모리에 모든 데이터가 들어갈 수 없는 매우 큰 데이터셋에도 적용할 수 있으며, 이를 "아웃오브코어 학습(out-of-core learning)"이라고 한다. 이 알고리즘은 데이터의 일부를 로드하고 해당 데이터에 대한 훈련 단계를 실행한 다음, 모든 데이터에 대해 실행될 때까지 이 프로세스를 반복한다.


    온라인 학습의 큰 도전 과제 중 하나는 시스템에 나쁜 데이터가 공급되면 시스템의 성능이 점차적으로 저하된다는 점이다. 이러한 위험을 줄이려면 시스템을 지속적으로 모니터하고 성능 하락을 감지하면 학습을 중지하고 (필요한 경우 이전에 작동하던 상태로 복원) 대응해야 한다. 또한 입력 데이터를 모니터링하고 이상 데이터에 대응할 필요가 있다(예: 이상 탐지 알고리즘 사용).

분류 3

Instance-based learning

    인스턴스 기반 학습(Instance-based Learning)은 이미 알려진 스팸 이메일과 매우 비슷한 이메일도 스팸으로 표시하는 방식이다. 이것은 두 이메일 간의 유사성을 측정하는 것을 필요로 한다. 두 이메일 간의 유사성을 측정하는 가장 기본적인 방법은 공통 단어의 수를 세는 것이다. 시스템은 이미 알려진 스팸 이메일과 많은 공통 단어를 가진 이메일을 스팸으로 표시한다. 이것이 인스턴스 기반 학습으로, 시스템은 예시를 외우고, 그런 다음 학습한 예시와 비교하기 위해 유사성 측정을 사용하여 새로운 경우를 일반화한다.

Model-based learning

   모델 기반 학습(Model-based Learning)은 일련의 예시로부터 모델을 구축하고 그 모델을 사용하여 예측하는 방법 중 하나이다. 즉, 시스템은 학습한 예시들로부터 데이터를 모델링하고, 이 모델을 활용하여 예측을 수행한다. 이를 통해 새로운 데이터에 대한 일반화와 예측을 가능하게 한다.


머신 러닝 주 쟁점(Main Challenges of Machine Learning)

훈련 데이터의 양이 부족함(Insufficient Quantity of Training Data)

    대부분의 기계 학습 알고리즘은 효과적으로 작동하기 위해서는 많은 양의 훈련 데이터가 필요하다. 심지어 매우 간단한 문제라도 보통 수천 개의 예제가 필요하며, 이미지나 음성 인식과 같은 복잡한 문제에는 수백만 개의 예제가 필요할 수 있다. 2001년에 Microsoft의 연구원인 Michele Banko와 Eric Brill은 "이러한 결과는 알고리즘 개발에 시간과 자금을 투자할 것인지, 말뭉치(데이터셋) 개발에 사용할 것인지에 대한 트레이드오프를 다시 고려할 필요가 있다는 것을 시사한다"고 언급했다. 이후, Peter Norvig 등이 2009년에 발표한 "데이터의 비합리적 효과(The Unreasonable Effectiveness of Data)" 논문에서 복잡한 문제에 대해서는 알고리즘보다 데이터가 더 중요하다는 아이디어가 더욱 널리 퍼지게 되었다.

    위 그래프를 보면 데이터의 양이 적을 때 가장 성능이 좋지 않았던 머신 러닝은 데이터의 양이 많아질수록 가장 좋은 성능을, 반대로 데이터의 양이 적을 때 가장 좋은 성능을 가진 머신 러닝은 데이터의 양이 많아 질 수록 가장 좋지 않은 성능을 보여준다. 즉, 뛰어난 알고리즘보다 데이터의 양이 더욱 합리적으로 머신러닝의 성능을 올려준다고 할 수 있다.

대표성이 없는 훈련 데이터(Nonrepresentative Training Data)

    일반화를 잘 수행하기 위해서는 훈련 데이터가 일반화하려는 새로운 경우를 대표하는 것이 중요하다. 예를 들어, 선형 모델을 훈련시키기 위해 사용한 국가 데이터 집합은 완벽하게 대표적이지 않다. 몇 개의 국가가 빠져 있다. 다음 그림은 빠진 국가를 추가한 데이터가 어떻게 보이는지를 보여준다.

    대표성을 가진 훈련 세트를 사용하는 것은 매우 중요한데, 이것이 실제로 생각보다 어려울 수 있다. 표본이 너무 작으면 샘플링 노이즈(sampling noise, 즉, 우연에 의한 대표되지 않는 데이터)가 발생할 수 있으며, 심지어 아주 큰 샘플도 샘플링 방법이 잘못된 경우 대표성을 가지지 않을 수 있다. 이를 샘플링 편향(Sampling Bias)이라고 한다.
    예를 들어 1936년 미국 대통령 선거에서 Literary Digest가 수행한 여론조사에서는 표본의 대표성 부족 문제가 발생했다. 이 여론조사에서는 1000만 명에게 우편을 보내 응답을 받은 결과, Landon 후보가 57%의 표를 얻을 것으로 예측했지만, 실제로는 Roosevelt 후보가 62%의 표를 얻었다. 이 문제는 두 가지 측면에서 발생했다. 먼저, 조사 대상 주소를 얻기 위해 Literary Digest는 전화번호부, 잡지 구독자 명단, 클럽 회원 명단 등을 사용했는데, 이러한 명단들은 주로 고소득층을 선호하므로 (따라서 Landon 후보에 투표할 가능성이 높음) 표본이 편향되었다. 둘째, 조사에 참여한 사람은 응답률이 25% 미만이었다. 이로 인해 정치에 관심이 적거나 Literary Digest를 좋아하지 않는 등의 사람들이 배제되어 대표성이 없는 데이터가 수집되었다. 이러한 현상을 응답 편향(Nonresponse Bias)이라고 합니다.

품질이 낮은 데이터(Poor-Quality Data)

    훈련 데이터에 오류, 이상치(outliers) 및 잡음(noise)이 가득하다면 시스템이 기저의 패턴을 감지하는 것이 어려워지므로 시스템의 성능이 떨어질 가능성이 높다. 따라서 훈련 데이터를 정리하는 노력을 기울이는 것은 종종 가치가 있다. 대부분의 데이터 과학자들은 주로 이 작업에 상당한 시간을 투자한다.

관련 없는 특성(Irrelevant Features)

    "콩 심은 데 콩 나고 팥 심은 데 팥 난다."는 말처럼, 기계 학습 프로젝트의 성공에 중요한 부분은 훈련에 사용할 좋은 특성 세트를 개발하는 것이다. 이 과정을 특성 엔지니어링(Feature Engineering)이라고 하며, 다음 단계로 구성된다.

  • 특성 선택 (Feature selection, 기존 특성 중에서 학습에 가장 유용한 특성을 선택)
  • 특성 추출 (Feature extraction, 기존 특성을 결합하여 더 유용한 특성 생성 – 앞서 언급한 차원 축소 알고리즘들이 도움이 될 수 있음)
  • 새로운 데이터를 수집하여 새로운 특성 생성(Creating new features by gathering new data)

훈련 데이터 과대적합(Overfitting the Training Data)

    훈련 데이터에 대한 과적합(Overfitting)은 모델이 훈련 데이터에서는 잘 동작하지만 새로운 데이터에 대해 일반화하지 못하는 문제를 의미한다. 이는 인간도 종종 빠지는 함정 중 하나이다.
    과적합은 훈련 데이터의 양과 데이터의 노이즈에 비해 모델이 너무 복잡한 경우에 발생한다. 과적합을 해결하기 위한 다양한 해결책이 있다. 첫째, 모델을 단순화하고 매개변수 수를 줄이는 것이다. 예를 들어, 고차 다항 모델 대신 선형 모델을 선택하거나, 훈련 데이터의 특성 수를 줄이거나, 모델을 제한할 수 있다. 둘째, 더 많은 훈련 데이터를 수집하는 것도 과적합을 줄일 수 있는 방법이다. 셋째, 훈련 데이터의 노이즈를 줄이기 위해 데이터 오류를 수정하고 이상치를 제거할 수 있다.
    또한, 모델을 단순화하고 과적합 위험을 줄이기 위해 모델을 제한하는 것을 규제(Regularization)라고 한다. 규제의 양은 하이퍼파라미터로 조절되며, 학습 알고리즘의 매개변수가 아닌 학습 전에 설정되고 학습 중에 고정된다. 이렇게 함으로써 모델이 훈련 데이터에 지나치게 맞추는 것을 방지하고 더 좋은 일반화 성능을 얻을 수 있다.

훈련 데이터 과소적합(Underfitting the training data)

   훈련 데이터에 대한 과소적합(Underfitting)은 모델이 데이터의 기본 구조를 학습하기에 너무 단순한 경우 발생한다. 이 문제를 해결하기 위한 주요 옵션은 다음과 같다. 더 많은 매개변수를 가진 더 강력한 모델 선택하기, 학습 알고리즘에 더 나은 특성을 제공하기 (특성 엔지니어링), 모델의 제약 조건을 줄이기 (예: 규제 하이퍼파라미터를 줄이기) 등이 있다.


테스트와 검증(Testing and Validating)

모델의 일반화 평가

    머신러닝 모델을 평가하고 일반화 성능을 파악하기 위해서는 새로운 데이터에 모델을 적용해 보는 것이 필요하다. 이를 위한 방법 중 하나는 모델을 실제 운영 환경에 배치하고 성능을 모니터링하는 것이다. 하지만 모델이 나쁠 경우 사용자들이 불만을 표현할 수 있으므로 이 방법은 적합하지 않을 수 있다.

훈련 세트와 테스트 세트 분리

    보다 나은 방법은 데이터를 훈련 세트와 테스트 세트로 분리하는 것이다. 훈련 세트로 모델을 훈련하고, 테스트 세트로 모델을 평가하여 새로운 데이터에 대한 일반화 오류를 추정한다. 이를 통해 모델이 훈련 데이터에 과적합되었는지 여부를 파악할 수 있다. 훈련 오류는 낮지만 일반화 오류가 높다면 모델이 과적합되었다는 의미한다.  일반적으로 8:2 비율로 데이터를 훈련 세트와 테스트 세트로 나눈다(데이터가 많으면 테스트 세트의 비율을 줄이는 경우도 있다.).

하이퍼파라미터 튜닝과 모델 선택

    모델을 평가하는 것은 비교적 간단하다. 그러나 모델 간에 선택을 할 때 어떤 모델을 선택해야 할지 망설이는 경우가 있다. 이때 두 가지 모델을 모두 훈련하고 테스트 세트를 사용하여 일반화 성능을 비교할 수 있다. 그러나 하이퍼파라미터 값을 어떻게 선택해야 할지에 대한 문제도 있다. 이를 해결하기 위한 일반적인 방법은 검증 세트(validation set)를 사용하는 것이다. 일부 훈련 데이터를 유지하고 이를 사용하여 여러 후보 모델을 평가하고 최적의 모델을 선택한다. 최적의 모델을 전체 훈련 데이터로 다시 훈련시키고 이를 테스트 세트에서 평가하여 일반화 오류를 추정한다. 이렇게 하면 모델이 새 데이터에 어떻게 동작할지 더 정확하게 알 수 있다. 유사한 방법으로 교차 검증(cross-validation) 방법이 있다. 훈련 데이터를 여러 부분으로 나누어 여러 번 학습하는 방식이다. 예를 들어, 훈련 데이터를 1,2,3,4,5로 나눈 후 처음 학습에 1,2,3,4로 학습 후 5를 검증 세트로 사용한다. 다음 학습에 1,2,3,5를 학습 세트로 이용 후 4를 검증 세트로 이용한다. 이 방식을 반복하여 더 신뢰할 수 있게 평가하는 모델을 제작할 수 있다.

데이터 불일치

    모델을 개발할 때 사용한 데이터가 실제 제품 또는 운영 환경에서 사용할 데이터와 완벽하게 대표적이지 않을 수 있다. 이런 경우 검증 세트와 테스트 세트가 실제 데이터를 대표할 수 있도록 해야 한다. 예를 들어, 웹에서 수집한 사진을 사용하여 모델을 훈련하려는 경우, 모바일 앱에서 촬영한 사진과 일치하지 않을 수 있다. 따라서 훈련 검증 세트를 사용하여 모델의 일반화 성능을 확인하고, 필요한 경우 데이터 전처리를 통해 모델을 개선할 수 있다.

데이터 양 부족

    머신러닝 알고리즘은 충분한 양의 데이터가 필요하다. 간단한 문제조차도 수천 개의 예가 필요하며, 복잡한 문제에는 수백만 개의 예가 필요할 수 있다. 데이터 양은 모델의 성능에 큰 영향을 미치므로 충분한 데이터를 확보하는 것이 중요하다.


요약

  • 기계 학습(머신 러닝, ML)은 명시적으로 규칙을 코딩하는 대신 데이터를 통해 학습하여 특정 작업에서 기계의 성능을 향상하는 것이다.
  • ML 시스템에는 감독 여부, 배치 또는 온라인, 인스턴스 기반 또는 모델 기반 등 다양한 유형이 있다.
  • ML 프로젝트에서는 훈련 세트에 데이터를 수집하고 훈련 세트를 학습 알고리즘에 공급한다. 알고리즘이 모델 기반인 경우 모델을 훈련 세트에 맞추기 위해 일부 매개변수를 조정한다(즉, 훈련 세트 자체에 대해 좋은 예측을 하기 위해). 그런 다음 새로운 사례에 대해서도 좋은 예측을 할 수 있기를 바랍니다. 알고리즘이 인스턴스 기반인 경우 예제를 암기하고 유사성 측정을 사용하여 학습된 인스턴스와 비교함으로써 새 인스턴스로 일반화한다.
  • 훈련 세트가 너무 작거나, 데이터가 대표적이지 않거나, 잡음이 많거나, 관련 없는 기능(garbage in, garbage out)으로 오염된 경우 시스템은 제대로 작동하지 않는다. 마지막으로, 모델은 너무 단순하지도(과소적합되는 경우) 너무 복잡하지도 않아야 한다(과대적합되는 경우).

주섬주섬

  • 인공지능은 큰 데이터를 가지고 분석하여 학습을 하는 과정이 데이터 과학과 매우 큰 연관이 있다. 그렇기에 관련 정보를 공부를 하면 인공지능 공부에 큰 도움이 된다.
  • Batch Learing은 학습에 많은 시간과 컴퓨터 자원이 필요하며 매번 오프라인에서 새로 업데이트를 하기 때문에 Batch Learing보다 Online Learing을 주로 사용한다.
  • 훈련 세트를 검증을 해도 이것은 출시 이전 머신러닝 테스트의 에러 추정치를 얻는 것이지 실제로 출시 후 수많은 데이터를 얻고 머신 러닝을 돌리는 것이 실제 테스트로 볼 수 있다.
  • 강화학습(Reinforcement Learning)은 내용은 Supervied/Unsupervised, Semisupervised learing과 크게 다르므로, 아래 블로그를 참고 바란다.

참고

 

강화 학습 1.기본 개념

서론 강화학습은 머신러닝과 다른 길로 발전을 하다, AI라는 큰 분야로 통합이 되면서 합쳐진 분야이다. 그렇기에 대충 이야기할 때는 머신러닝이 강화학습의 일부분처럼 말한다.(물론 머신러닝

jinger.tistory.com

 

반응형

댓글