ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Chapter1.한눈에 보는 머신러닝
    공부/Hands-On Machine Learning 2022. 11. 1. 16:25
    728x90

    인공지능에 손 안 댄지 어언 1년,,,기억이 하나도 안 난다. 기초부터 다시 잡고 가자

     

    1.1 머신러닝이란?

    데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 과학

    • 훈련세트(training set) : 시스템이 학습하는 데 사용하는 샘플(각 한 사례는 샘플로 불림)
    • 정확도(accuracy) : 정확히 분류된 비율(=P)

    1.2 왜 머신러닝을 사용하는가?

    1. 패턴을 감지하여 판단하는데 좋은 기준인지 자동으로 학습->프로그램이 짧아지고 유지보수하기 쉽고 정확도가 높음
    2. 너무 복잡하거나 알려진 알고리즘이 없는 문제 ex)음성인식
    3. 데이터 마이닝 : 머신러닝 기술을 적용해서 대용량의 데이터를 분석하면 보이지않던 패턴 발견가능

    =>요약

    1. 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제 : 하나의 머신러닝 모델이 코드를 간단하게  만들고 전통적인 방법보다 더 잘 수행되도록 할 수 있음
    2. 전통적인 방식으로는 해결방법이 없는 복잡한 문제 : 가장 뛰어난 머신러닝 기법으로 해결 방법을 찾을 수 있음
    3. 유동적인 환경 : 머신러닝 시스템은 새로운 데이터에 적응가능
    4. 복잡한 문제와 대량의 데이터에서 통찰 얻기

    1.3 애플리케이션 사례

    ex)CNN,RNN,NLP,Transformer,regression,random forest, SVM, clustering, dimensionality reduction, reinforcement learning, 추천 시스템, ...

    1.4. 머신러닝 시스템의 종류

    • 사람의 감독하에 훈련하는 것인지 그렇지 않은 것인지 : 지도/비지도/준지도/강화학습
    • 실시간으로 점진적인 학습을 하는지 아닌지 : 온라인/배치
    • 단순하게 알고 있는 데이터 포인트와 새 데이터포인트를 비교하는 것인지 아니면 과학자들이 하는 것처럼 훈련 데이터셋에서 패턴을 발견하여 예측 모델을 만드는지 : 사례기반/모델기반

    1.4.1 지도 학습과 비지도 학습

    학습하는 동안의 감독 형태나 정보량에 따라 분류

     

    지도학습(supervised learning)

    알고리즘에 주입하는 훈련 데이터에 레이블이라는 원하는 답이 포함

    ex1)분류(classification)

    ex2)회귀(예측 변수(predictor variable)라 부르는 특성(feature)을 사용해 타깃(target) 수치 예측)

    ex3)k-최근접 이웃(k-nearest neighbors)

    ex4)선형회귀(linear regression)

    ex5)로지스틱회귀(logistic regression)

    ex6)서포트 벡터 머신(support vector machine(=SVM))

    ex7)결정트리(decision tree)와 랜덤 포레스트(random forest)

    ex8)신경망(neural networks)

     

    비지도학습(unsupervised learning)

    훈련데이터에 레이블이 없음, 시스템이 아무런 도움없이 학습해야함

    ex1)군집(clustering)-K-평균/DBSCAN/계층 군집 분석/이상치 탐지와 특이치 탐지/원-클래스/아이솔레이션 포레스트

    ex2)시각화와 차원축소-주성분분석(PCA), 커널 PCA, 지역적 선형 임베딩(LLE),t-SNE

    ex3)연관규칙학습(association rule learing)-어프라이어리(Apriori), 이클렛(Eclat)

    더보기

    특성 추출(feature extraction) : 차원축소 알고리즘으로 두 특성을 하나의 특성으로 합칠 수 있음

    이상치 탐지(outlier detection) : 이상한 값을 자동 제거, 훈련하는 동안 정상샘플을 대부분만나 이를 인식하고 새로운 새픔을 보고 정상데이터인지 혹은 이상치인지 판단

    특이치 탐지(novelty detection) : 훈련세트에 있는 모든 샘플과 달라보이는 새로운 샘플을 탐지하는 것이 목적, 알고리즘으로 감지하고 싶은 모든 샘플을 제거한 매우 깨끗한 훈련세트가 필요 

     

    준지도학습(semisupervised learning)

    어떤 알고리즘은 일부만 레이블이 있는 데이터를 다룰 수 있음

    대부분의 준지도 학습 랄고리즘은 지도 학습과 비지도 학습의 조합

    ex)심층 신뢰 신경망(deep belief network(=DBN))은 여러겹으로 쌓은 제한된 볼츠만 머신(restricted Bolzmann machine(=RBM)이라 불리는 비지도 학습에 기초, RBM이 비지도 학습 방식으로 순차적으로 훈련된 다음 전체 시스템이 지도 학습방식으로 세밀하게 조절

     

    강화학습(reinforcement learning)

    학습하는 시스템(=에이전트) 환경을 관찰해서 행동을 실행하고 그 결과로 보상(reward)또는 벌점(penalty)를 받음

    시간이 지나면서 가장 큰 보상을 얻기 위해 정책(policy)이라고 불리는 최상의 전략을 스스롤 학습

    정책은 주어진 상황에서 에이전트가 어떤 행동을 선택해야 할 지 결정

    ex)알파고

     

    1.4.2 배치 학습과 온라인 학습

    입력데이터의 스트림으로부터 점진적으로 학습할 수 있는 지 여부

     

    배치학습(batch learning)

    시스템이 점진적으로 학습할 수 없음, 가용한 데이터를 모두 사용해 훈련->시간과 자원이 많이 소모되므로 보통 오프라인에서 수행

    먼저 시스템을 훈련시키고 그런 다음 제품 시스템에 적용하면 더 이상의 학습없이 실행->학습한 것을 단지 적용만 함

    =오프라인 학습(offline learning)

    배치학습 시스템이 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 시스템의 새로운 버전을 처음부터 다시 훈련하고 이전 시스템을 중지시키고 새 시스템으로 교체

    머신러닝 시스템을 훈련, 평가, 론칭하는 전체 과정이 쉽게 자동화될 수 있어 배치 학습 시스템도 변화에 적응, 데이터를 업데이트하고 시스템의 새 버전을 필요한 만큼 자주 훈련시키면 됨

    간단하고 잘 동작하지만 전체 데이터셋을 사용해 훈련하기 때문에 시간이 오래 소요, 자원도 많이 소모

     

    온라인학습(online learning)

    데이터를 순차적으로 한 개씩 또는 미니배치(mini batch)라 부르는 작은 묶음 단위로 주입하여 시스템 훈련

    학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습가능

     

    연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야하는 시스템에 적합

    컴퓨팅 자원이 제한된 경우에도 좋은 선택->온라인학습은 새로운 데이터 샘플을 학습하면 학습이 끝난데이터는 더는 필요하지 않으므로 버려도 됨

    아주 큰 데이터셋을 학습하는 시스템에도 온라인 알고리즘 사용(데이터 일부를 읽고 훈련단계수행, 전체데이터에 적용될때까지 과정 반복)

     

    학습률(learning rate) : 변화하는 데이터에 얼마나 빠르게 적응할 것인지에 대한 파라미터

    더보기

    학습률이 높으면 시스템이 데이터에 빠르게 적응하지만 예전 데이터를 금방 잊어버릴 것

    학습률이 낮으면 시스템의 관성이 더 커져서 더 느리게 학습됨, 하지만 새로운 데이터에 있는 잡음이나 대표성 없는 데이터 포인트에 덜 민감해짐

    온라인학습에서 가장 큰 문제점은 시스템에 나쁜 데이터가 주입되었을 때 시스템 성능이 점진적으로 감소

    ->이런 위험을 줄이려면 시스템을 모니터링하고 성능 감소가 감지되면 학습을 즉각 중지 또는 입력 데이터를 모니터링해서 비정상 데이터를 잡아낼 수도 있음(ex)이상치 탐지 알고리즘)

     

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

    머신러닝 시스템은 어떻게 일반화(generalize)되는가에 따라 분류

     

    사례기반학습(instance-based learning)

    가장 간단한 형태의 학습은 단순히 기억하는 것

    시스템이 훈련 샘플을 기억함으로써 학습하도록 유사도 측정을 사용해 새로운 데이터와 학습한 샘플을 비교하는 식으로 일반화

     

    ex)스팸메일과 동일한 메일을 스팸이라고 지정하는 대신 스팸메일과 매우 유사한 메일을 구분하도록 스팸필터를 프로그래밍->두 메일 사이의 유사도(similarity) 측정(measure)을 해야함

    두 메일 사이의 간단한 유사도 측정방법은 공통으로 보함한 단어의 수를 세는 것

     

    모델기반학습(model-based learning)

    샘플로부터 일반화시키는 다른 방법은 샘플들의 모델을 만들어 예측(prediction)에 사용하는 것

    ex)데이터가 흩어져 있지만(무작위성) 선형으로 증가->모델 선택(model selection)->특성 하나를 가진 선형모델(linear model), 선형함수를 나타내는 θ을 모델의 파라미터(model parameter)라고 함

    모델이 최상의 성능을 내도록 하는 값을 찾으려면 측정 지표를 정해야함

    ->모델이 얼마나 좋은지 측정하는 효용함수(utility function)(=적합도함수, fitness function)를 정의하거나

       모델이 얼마나 나쁜지 측정하는 비용함수(cost function)을 정의할 수 있음

    선형 회귀에서는 보통 선형 모델의 예측과 훈련 데이터 사이의 거리를 재는 비용 함수를 사용하여 이 거리를 최소화하는게 목표

    알고리즘에 훈련 데이터를 공급하면 데이터에 가장 잘 맞는 선형 모델의 파라미터를 찾음(=훈련, training)->이를 이용해 예측가능

    =>요약

    1. 데이터 분석
    2. 모델 선택
    3. 훈련데이터로 모델 훈련(학습 알고리즘이 비용함수를 최소화하는 모델 파라미터를 찾음)
    4. 새로운 데이터에 모델을 적용해 예측(=추론,inference)하고 해당 모델이 일반화되는 것을 기대

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

    나쁜 데이터, 나쁜 알고리즘

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

    1.5.2 대표성 없는 훈련 데이터

    샘플이 작으면 샘플링 잡음(sampling noise)=우연에 의한 대표성 없는 데이터

    매우 큰 샘플도 표본 추출 방법이 잘못되면 샘플링 편향(sampling bias)이 발생

    1.5.3 낮은 품질의 데이터

    훈련데이터가 에러, 이상치(outlier), 잡음으로 가득하다면 머신러닝 시스템이 잘 작동하지 않을 것

    ->훈련데이터 정제에 시간투자

    • 일부 샘플이 이상치라는 게 명확하면 간단히 그것들을 무시하거나 수동으로 잘못된 것을 고치는 것이 좋음
    • 일부 샘플에 특성 몇 개가 빠져있다면 이 특성을 모두 무시할지, 이 샘플을 무시할지, 빠진 값을 채울지, 이 특성을 넣은 모델과 제외한 모델을 따로 훈련시킬 것인지 결정해야함

    1.5.4 관련없는 특성

    훈련데이터에 관련없는 특성이 적고 관련있는 특성이 충분해야 시스템이 학습할 수 있을 것

    성공적인 머신러닝 프로젝트의 핵심요소는 훈련에 사용할 좋은 특성들을 찾는것(=특성공학, featurn engineering)

    • 특성 선택(feature selection)  : 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택
    • 특성 추출(feature extraction) : 특성을 결합하여 더 유용한 특성을 만듦, 차원 축소 알고리즘이 도움이 될수도있음
    • 새로운 데이터를 수집해 새 특성을 만듦

    1.5.5 훈련 데이터 과대 적합

    모델이 훈련데이터에 너무 잘 맞지만 일반성이 떨어짐(=과대적합,overfitting)

    심층 신경망같은 복잡한 모델은 데이터에서 미묘한 패턴을 감지할 수 있지만, 훈련세트에 잡음이 많거나 데이터셋이 너무 작으면 잡음이 섞인 패턴을 감지->일반화X

    더보기

    과대적합은 훈련 데이터에 있는 잡음의 양에 비해 모델이 너무 복잡할 때 일어남. 해결방법은 아래와 같음

    • 파라미터 수가 적은 모델을 선택하거나 훈련 데이터에 있는 특성 수를줄이거나, 모델에 제약을 가하여 단순화
    • 훈련 데이터를 더 많이 모음
    • 훈련 데이터의 잡음을 줄임(오류 데이터 수정과 이상치 제거)

    모델을 단순하게 하고 과대적합의 위험을 감소시키기 위해 모델에 제약을 가하는 것=규제(regularization)

    훈련 데이터에 모델을 맞추기 위한 자유도(degree of freedom)를 학습 알고리즘에 부여

    데이터에 완벽히 맞추는 것과 일반화를 위해 단순한 모델을 유지하는 것 사이의 올바른 균형을 찾는 것이 중요

    학습하는 동안 적용할 규제의 양은 하이퍼파라미터(hyperparameter)가 결정

    더보기

    하이퍼파라미터? 학습 알고리즘의 파라미터

    그래서 학습 알고리즘으로부터 영향을 받지 않으며 훈련 전에 미리 지정되고 훈련하는 동안에는 상수로 남아있음

    규제 하이퍼 파라미터를 매우 큰 값으로 지정하면(기울기가 0에 가까운) 거의 평편한 모델을 얻음

    ->학습 알고리즘이 훈련 데이터에 과대적합될 가능성은 거의 없겠지만 좋은 모델을 찾지 못함

    ->머신러닝 시스템을 구축할 때 하이퍼파라미터 튜닝은 매우 중요한 과정

    1.5.6 훈련 데이터 과소적합

    모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못할 때 일어남

    해결방법은 아래

    • 모델 파라미터가 더 많은 강력한 모델을 선택
    • 학습 알고리즘에 더 좋은 특성을 제공(특성 공학)
    • 모델의 제약을 줄임(ex)규제 하이퍼파라미터 감소)

    1.5.7 한걸음 물러서서

    • 머신러닝은 명시적인 규칙을 코딩하지 않고 기계가 데이터로부터 학습하여 어떤 작업을 더 잘하도록 만드는 것
    • 여러종류의 머신러닝 시스템이 있음, 지도 학습과 비지도 학습, 배치 학습과 온라인 학습, 사례기반 학습과 모델기반 학습 등
    • 머신러닝 프로젝트에서는 훈련세트에 데이터를 모아 학습 알고리즘에 주입
      • 학습 알고리즘이 모델 기반이면 훈련 세트에 모델을 맞추기 위해 모델 파라미터를 조정하고 새로운 데이터에서도 좋은 예측을 만들거라 기대
      • 알고리즘이 사례 기반이라면 샘플을 기억하는 것이 학습이고 유사도 측정을 사용하여 학습한 샘플과 새로운 샘플을 비교하는 식으로 새로운 샘플에 일반화
    • 훈련세트가 너무 작거나, 대표성이 없는 데이터거나, 잡음이 많고 관련없는 특성으로 오염되어 있다면 시스템이 잘 작동하지 않음
    • 모델이 너무 단순하거나(과소적합) 너무 복잡하지 않아야함(과대적합)

    1.6 테스트와 검증

    모델이 새로운 샘플에 얼마나 잘 일반화될지 아는 유일한 방법은 새로운 샘플에 실제로 적용해보는 것

    훈련 데이터를 훈련세트와 테스트 세트로 나누어 훈련세트를 사용해 모델을 훈련하고 테스트 세트를 사용해 모델 테스트

    새로운 샘플에 대한 오류 비율을 일반화 오차(generalization error)(=외부 샘플 오차,out-of-sample error)라고 하며 테스트세트에서 모델을 평가함으로써 이 오차에 대한 추정값(estimation)을 얻음

    ->이 값은 이전에 본 적없는 새로운 샘플에 모델이 얼마나 잘 작동할지 알려줌

    훈련오차가 낮지만 일반화 오차가 높다면 이는 모델이 훈련데이터에 과대적합되었다는 뜻

    더보기

    보통 데이터의 80%는 훈련에 사용, 20%는 테스트에 사용

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

    여러개의 하이퍼파라미터 값으로 여러개의 다른 모델을 훈련시켜서 만약 일반화 오차가 가장 낮은 모델을 만드는 최적의 하이퍼파라미터를 찾았다고 가정, 하지만 모델이 실제 서비스에 투입했을 때 나쁜 성능을 낼 수 있음

    ->모델이 테스트세트에 최적화된 모델을 만들었기 때문

    해결방법?

    =>홀드아웃 검증(holdout validation)

    1. 훈련세트의 일부를 떼어내어 여러 후보 모델을 평가하고 가장 좋은 하나를 선택
    2. 새로운 홀드아웃 세트를 검증 세트(validation set)로 만드는데 줄어든 훈련세트(전체훈련세트-검증세트)에서 다양한 하이퍼파라미터 값을 가진 여러 모델을 훈련
    3. 검증 세트에서 가장 높은 성능을 내는 모델을 선택
    4. 홀드아웃 검증 과정이 끝나면 최선의 모델을 전체 훈련 세트에서 다시 훈련하여 최종 모델을 만듦
    5. 최종 모델을 테스트 세트에서 평가하여 일반화 오차 추정

    검증 세트가 너무 작으면 모델이 정확하게 평가되지 않을 것, 최적이 아닌 모델을 잘못 선택할 수도 있음

    검증세트가 너무 크면 남은 훈련 세트가 전체 훈련세트보다 너무 작아짐

    ->최종 모델이 전체훈련세트에서 훈련되기 때문에 너무 작은 훈련세트에서 훈련한 후보 모델을 비교하는 것은 이상적이지 않음 ex)마라톤에 참여하기 위해 가장 빠른 단거리 주자를 고르는 것과 같음

    =>작은 검증 세트를 여러개 사용해 반복적인 교차검증(cross-validation)을 수행

    검증세트마다 나머지 데이터에서 훈련한 모델을 해당 검증 세트에서 평가

    모든 모델의 평가를 평균하면 훨씬 정확한 성능을 측정할 수 있음

    하지만 훈련시간이 검증 세트의 개수에 비례해 늘어남

     

    데이터불일치

    훈련데이터의 일부를 떼어내어 또 다른 세트를 만드는 것->훈련-개발 세트(train-dev set)

    모델을 훈련세트에서 훈련한 다음 훈련-개발 세트에서 평가함

    모델이 잘 자동하면 훈련세트에 과대적합된 것이 아님

    이 모델이 검증세트에서 나쁜 성능을 낸다면 이 문제는 데이터 불일치에서 오는 것

    ->데이터를 전처리 후 다시 훈련

    반대로 모델이 훈련-개발 세트에서 잘 작동하지 않는다면 이는 훈련세트에 과대적합된 것

    ->모델을 규제하거나 더 많은 훈련 데이터를 모으거나 훈련데이터 정제 시도

    1.7연습문제

    1. 머신러닝을 어떻게 정의할 수 있나요?
    2. 머신러닝이 도움을 줄 수 있는 문제 유형 네가지를 말해보세요.
    3. 레이블된 훈련 세트란 무엇인가요?
    4. 가장 널리 사용되는 지도 학습 작업 두 가지는 무엇인가요?
    5. 보편적인 비지도 학습 작업 네가지는 무엇인가요?
    6. 사전정보가 없는 여러 지형에서 로봇을 걸어가게 하려면 어떤 종류의 머신러닝 알고리즘을 사용할 수 있나요?
    7. 고객을 여러 그룹으로 분할하려면 어떤 알고리즘을 사용해야하나요?
    8. 스팸감지의 문제는 지도학습과 비지도 학습 중 어떤 문제로 볼 수 있나요?
    9. 온라인 학습 시스템이 무엇인가요?
    10. 외부 메모리 학습이 무엇인가요?
    11. 예측을 하기 위해 유사도 측정에 의존하는 학습 알고리즘은 무엇인가요?
    12. 모델 파라미터와 학습 알고리즘의 하이퍼파라미터 사이에는 어떤 차이가 있나요?
    13. 모델기반 알고리즘이 찾는 것은 무엇인가요?성공을 위해 이 알고리즘이 사용하는 가장 일반적인 전략은 무엇인가요?예측은 어떻게 만드나요?
    14. 머신러닝의 주요 도전 과제는 무엇인가요?
    15. 모델이 훈련데이터에서의 성능은 좋지만 새로운 샘플에서의 일반화 성능이 나쁘다면 어떤 문제가 있는 건가요? 가능한 해결책 세가지는 무엇인가요?
    16. 테스트 세트가 무엇이고 왜 사용해야하나요?
    17. 검증 세트의 목적은 무엇인가요?
    18. 훈련-개발 세트가 무엇인가요?언제필요하고 어떻게 사용해야하나요?
    19. 테스트 세트를 사용해 하이퍼 파라미터를 튜닝하면 어떤 문제가 생기나요?
    더보기
    1. 머신러닝은 데이터로부터 학습할 수 있는 시스템을 만드는 것, 학습이란 어떤 작업에서 주어진 성능 지표가 더 나아지는 것을 의미
    2. 명확한 해결책이 없는 복잡한 문제, 수작업으로 만든 긴 규칙 리스트를 대체하는 경우, 변화하는 환경에 적응하는 시스템을 만드는 경우, 사람에게 통찰을 제공해야하는 경우에 머신러닝이 도움을 줄 수 있음
    3. 레이블된 훈련세트는 각 샘플에 대해 원하는 정답(레이블)을 담고 있는 훈련 세트
    4. 가장 일반적인 두가지 지도학습문제는 회귀와 분류
    5. 보편적인 비지도 학습 문제는 군집, 시각화, 차원축소, 연관규칙학습
    6. 강화학습
    7. 만약 그룹을 어떻게 정의할지 모른다면 비슷한 고객끼리 군집으로 나누기 위해 군집 알고리즘(비지도 학습)을 사용, 어떤 그룹이 있어야할지 안다면 분류 알고리즘(지도학습)에 각 그룹에 대한 샘플을 주입
    8. 지도학습
    9. 온라인 학습 시스템은 배치 학습 시스템과 달리 점진적으로 학습 가능, 이방식은 변화하는 데이터와 자율 시스템에 빠르게 적응하고 매우 많은 양의 데이터를 훈련시킬 수 있음
    10. 외부 메모리 알고리즘은 컴퓨터의 주메모리에 들어갈 수 없는 대용량의 데이터를 다룰 수 있음, 외부 메모리 학습 알고리즘은 데이터를 미니배치로 나누고 온라인 학습 기법을 사용해 학습
    11. 사례기반 학습시스템은 훈련데이터를 기억하는 학습, 새로운 샘플이 주어지면 유사도 측정을 사용해 학습된 샘플 중에서 가장 비슷한 것을 찾아 예측으로 사용
    12. 모델은 하나 이상의 파라미터(ex)선형모델의 기울기)를 사용해 새로운 샘플이 주어지면 무엇을 예측할지 결정함, 학습 알고리즘은 모델이 새로운 샘플에 잘 일반화되도록 이런 파라미터들의 최적값을 찾음, 하이퍼파라미터는 모델이 아니라 이런 학습 알고리즘 자체의 파라미터(ex)적용할 규제의 정도)
    13. 모델 기반 학습 알고리즘은 새로운 샘플에 잘 일반화되기 위한 모델 파라미터의 최적값을 찾음, 일반적으로 훈련 데이터에서 시스템의 예측이 얼마나 나쁜지 측정하고 모델에 규제가 있다면 모델 복잡도에 대한 패널티를 더한 비용함수를 최소화함으로써 시스템을 훈련시킴, 예측을 만들려면 학습 알고리즘이 찾은 파라미터를 사용하는 모델의 예측함수에 새로운 샘플의 특성을 주입
    14. 머신러닝의 주요 도전 과제는 부족한 데이터, 낮은 데이터 품질, 대표성 없는 데이터, 무의미한 특성, 훈련 데이터에 과소적합된 과도하게 간단한 모델, 훈련 데이터에 과대적합된 과도하게 복잡한 모델 등
    15. 모델이 훈련 데이터에서는 잘 작동하지만 새로운 샘플에서는 형편없다면 이 모델은 훈련 데이터에 과대적합되욌을 가능성이 높음, 과대적합에 대한 해결책은 더 많은 데이터를 모으거나, 모델을 단순화하거나(간단한 알고리즘을 선택하거나, 특성이나 파라미터의 수를 줄이거나, 모델에 규제를 추가), 훈련데이터에 있는 잡음을 감소
    16. 테스트 세트는 실전에 배치되기 전에 모델이 새로운 샘플에 대해 만들 일반화 오차를 추정하기 위해 사용
    17. 검증 세트는 모델을 비교하는데 사용됨, 이를 사용해 가장 좋은 모델을 고르고 하이퍼파라미터를 튜닝
    18. 훈련-개발 세트는 검증, 테스트 세트에 사용되는 데이터와 훈련 세트 사이에 데이터 불일치 위험이 있을 때 사용, 훈련세트의 일부에서 모델을 훈련하고 훈련-개발 세트와 검증 세트에서 평가, 모델이 훈련세트에서 잘 동작하지만 훈련-개발 세트에서 나쁜 성능을 낸다면 아마도 훈련세트에 과대적합되었을 가능성이 높음, 훈련 세트와 훈련-개발 세트 양쪽에서 모두 잘 동작하지만 검증 세트에서 성능이 나쁘다면 훈련 데이터와 검증+테스트 데이터사이에 데이터 불일치가 있을 가능성이 높음, 검증+테스트 데이터에 더 가깝게 되도록 훈련 데이터를 개선해야함
    19. 테스트 세트를 사용해 하이퍼파라미터를 튜닝하면 데스트 세트에 과대적합될 위험이 있고 일반화 오차를 낙관적으로 측정하게됨(모델을 출시하면 기대한 것보다 나쁜 성능을 낼 것

     

     

    댓글

Designed by Tistory.