핸즈온 머신러닝 Part1 연습문제

Erdos·2021년 12월 6일
0

감상

목록 보기
33/33
post-thumbnail
  1. 머신러닝이란
  • 데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 과학
  • 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구
    데이터로부터 학습할 수 있는 시스템을 만드는 것
  1. 머신러닝이 도움을 줄 수 있는 문제 유형 네 가지
  • 스팸메일 분류/ 배달의 민족 클린 리뷰 시스템/ 넷플릭스와 같은 추천 시스템/ 강화 학습의 알파고
    명확한 해결책이 없는 복잡한 문제, 수작업으로 만든 긴 규칙 리스트를 대체하는 경우, 변화하는 환경에 적응하는 시스템을 만드는 경우, 사람에게 통찰을 제공해야 하는 경우
  1. 레이블된 훈련 세트란
    모델이 최종적으로 찾아야 하는 정답이 있는 dataset
    각 샘플에 대해 원하는 정답을 담고 있는 훈련 세트

  2. 가장 널리 상용되는 지도 학습 네 가지: 분류, 회귀, SVM, 신경망(일부 제외)
    k-nearest neighbors
    linear regression
    logistic regression
    support vector machine(SVM)
    decision tree
    random forest
    neural networks
    분류, 회귀

  3. 보편적인 비지도 학습 작업 네 가지: 군집, 시각화, 차원축소, 연관규칙학습

  • 군집(clustering)
    • kㅡmeans
    • DBSCAN
    • hierarchical cluster analysis(HCA) 계층 군집 분석
    • outlier detection 이상치 탐지 / novelty detection 특이치 탐지
    • one-class SVM 원-클래스
    • isolation forest
  • visualization, dimensionality reduction
    • principal component analysis(PCA) 주성분분석
    • kernel PCA
    • locally-linear embedding(LLE) 지역적 선형 임베딩
    • t-SNE(t-distributed stochastic neighbor embedding)
  • association rule learning 연관 규칙 학습
    • Apriori
    • Eclat
      군집, 시각화, 차원축소, 연관규칙학습
  1. 사전 정보가 없는 여러 지형에서 로봇을 걸어가게 하려면 어떤 종류의 머신 러닝 알고리즘을 사용할 수 있나요?
    강화학습
    강화학습

  2. 고객을 여러 그룹으로 분할하려면 어떤 알고리즘을 사용해야 하는가
    군집
    ⊙ 그룹을 어떻게 정의할 지 모른다면= 비슷한 고객끼리 비지도 학습의 군집 알고리즘
    ⊙ 그룹을 어떻게 정의할 지 안다면 = 지도학습의 분류 알고리즘

  3. 스팸 감지의 문제는 지도 학습과 비지도 학습 중 어떤 문제로 볼 수 있나
    지도 학습
    지도학습

  4. 온라인 학습 시스템이란
    학습이 끝나 제품화가 된 모델에 대해 미니배치라는 작은 데이터를 주입하여 모델을 학습시키는 방법
    점진적으로 학습하는 방법. 변화하는 데이터와 자율 시스템에 빠르게 적응하고 매우 많은 양의 데이터를 훈련 시킬 수 있다.

  5. 외부 메모리 학습(out-of-core)이란
    아주 큰 데이터셋을 학습하는 시스템에 온라인 학습 알고리즘을 적용한 방법
    컴퓨터의 주 메모리에 들어갈 수 없는 대용량의 데이터를 다룰 수 있다. 데이터를 미니배치로 나누고 온라인 학습 기법을 사용해 학습함

  6. 예측을 하기 위해 유사도 측정에 의존하는 학습 알고리즘은 무엇인가
    사례 기반 학습(instance-based leanring)
    사례 기반 학습

  7. 모델 파라미터와 학습 알고리즘의 하이퍼파라미터 사이에는 어떤 차이가 있나
    하이퍼파라미터는 알고리즘을 조절하기 위해 사전에 정의하는 파라미터이다. 모델 파라미터는 예컨대 선형모델의 y절편과 기울기와 같이 모델에 내재된 변수이다.
    파라미터: 모델 내부에서 결정되는 변수( weight coefficient, bias)
    하이퍼 파라미터: 사용자가 직접 세팅해주는 값( learning rate, epoch, iteration)

  8. 모델 기반 알고리즘이 찾는 것은 무엇인가? 성공을 위해 이 알고리즘이 사용하는 가장 일반적인 전략은 무엇인가? 예측은 어떻게 만드나
    잘 일반화 되기 위한 모델 파라미터의 최적값, 훈련 데이터에서 시스템의 예측이 얼마나 나쁜지 측정하고 모델에 규제가 있다면 모델 복잡도에 대한 페널티를 더한 비용함수를 최소화함으로써 시스템에 훈련시킴. 예측을 만들려면 학습 알고리즘이 찾은 파라미터를 사용하는 모델의 예측 함수에 새로운 샘플의 특성을 주입한다.

  9. 머신 러닝의 주요 도전 과제는 무엇인가
    적절하지 않은 알고리즘을 선택하거나,
    낮은 품질의 데이터(잡음, 편향, 이상치 등)
    부족한 데치터, 낮은 데이터 품질, 대표성 없는 데이터, 무의미한 특성, 훈련 데이터에 과소적합된 모델, 훈련 데이터에 과대적합된 모델

  10. 모델이 훈련 데이터에서의 성능은 좋지만 새로운 샘플에서의 일반화 성능이 나쁘다면 어떤 문제가 있는건가? 가능한 해결책 세 가지는 무엇인가
    과대적합의 문제,

  • 파라미터 수가 적은 모델을 선택, 모델에 제약을 가해 단순화
  • 훈련 데이터를 더 많이 모은다
  • 훈련 데이터의 잡음을 줄인다(전처리)
    위와 같음
  1. 테스트 세트가 무엇이고 왜 사용해야 하는가
    모델을 테스트, 새로운 샘플에 모델이 얼마나 잘 작동하는지 판단할 수 있기 때문에. 또한 과대적합을 방지할 수 있다.
    새로운 샘플에 대해 만들 일반화 오차를 주정하기 위해 사용한다.

  2. 검증 세트의 목적은 무엇인가?
    하이퍼파라미터 튜닝, 최적화
    모델을 비교하는 데 사용한다. 이로 가장 좋은 모델을 고르고 하이퍼 파라미터 튜닝

  3. 훈련-개발 세트(train-dev set)가 무엇인가 언제 필요하고 어떻게 사용해야 하나
    학습이 이미 완료된 모델을 검증하기 위해서 필요함(참고로 test set은 학습과 검증이 완료된 모델의 성능을 평가하기 위해서 사용, train: validation:test = 6:2:2)
    두 개의 결정적인 차이는 훈련-개발 세트는 학습을 시키진 않지만 학습에 관여는 한다. 반면에 test set는 학습은 전혀 관여하지 않고 오직 최종 성능을 평가하기 위해 쓰인다.
    모델 검증, test set과 train set 데이터 불일치 위험이 있을 때 사용한다.

  4. 테스트 세트를 사용해 하이퍼 파라미터를 튜닝하면 어떤 문제가 생기나
    과대적합의 위험이 발생한다.
    과대적합될 위험이 있고, 일반화 오차를 낙관적으로 측정하게 된다. 고로 출시된 모델의 성능이 예상보다 낮아질 수 있다.

profile
수학을 사랑하는 애독자📚 Stop dreaming. Start living. - 'The Secret Life of Walter Mitty'

0개의 댓글

관련 채용 정보