본문 바로가기
Artificial Intelligence/Machine Learning

Hands-On Machine Learning(핸즈온 머신러닝) - 1장 연습문제

by EunjiBest 2022. 7. 4.

Hands-On Machine Learning(핸즈온 머신러닝) - 1장 연습문제

 

 

 

 

1. 머신러닝의 정의

(30p)

명시적인 프로그래밍 없이 기계가 데이터로부터 스스로 학습할 수 있는 시스템을 만드는것이다.

학습이란 어떤 작업에서 주어진 성능 지표가 더 나아지는 것을 의미한다.

 

 

2. 머신러닝이 도움을 줄 수 있는 문제 유형 네가지

 

(33~34p)

- 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제

- 전통적인 프로그래밍 방식으로는 해결 방법이 없는 복잡한 문제

- 유동적인 환경에 적응해야하는 문제

- 사람에게 통찰을 제공해야하는 문제

 

 

3. 레이블된 훈련세트란?

 

(36p)

지도학습에서 각 sample에 대해 원하는 정답(label)을 담고 있는 훈련세트.

 

 

4. 가장 널리 사용되는 지도학습 작업 두 가지

 

(36~37p)

분류(classification) , 회귀(regression) 

 

 

5. 보편적인 비지도 학습 작업 네가지

 

(38p)

- 군집(clustering) : k-평균, DBSCAN, 계층 군집 분석

- 이상탐지(outlier detection)와 특이치 탐지(novelty detection) : 원-클래스, 아이솔레이션 포레스트

- 시각화(visualization)과 차원축소(dimensionality reduction) : 주성분분석, 커널, 지역전 선형 임베딩, t-SNE

- 연관 규칙 학습(association rule learning) : 어프라이어리, 이클렛

 

 

6. 사전 정보가 없는 여러 지형에서 로봇을 걸어가게 하려면 어떤 종류의 머신러닝 알고리즘을 사용할 수 있나?

 

(42p)

강화학습(reinforcement learning)

(지도학습이나, 비지도 학습으로도 표현이 가능하지만 일반적이지 않다)

 

 

 

7. 고객을 여러 그룹으로 분할하려면 어떤 알고리즘을 사용해야하나?

 

(38p)

- 그룹을 어떻게 나눌지 알고 있다면? 분류학습(지도학습)을 이용해서, 각 그룹에 대한 샘플을 훈련

- 그룹을 어떻게 나눌지 모른면? 군집 알고리즘(비지도학습)이용

 

 

 

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

 

(36p)

스팸감지는 전형적인 지도학습 문제이다.

스팸 메일임을 감지하는 단어들을 분류하여 학습시킨다.

 

 

 

9. 온라인 학습 시스템이 무엇인가?

 

(45p)

온라인 학습 시스템은 배치 학습 시스템과 달리 점진적으로 학습할 수 있다. 변화하는 데이터와 자율 시스템에 빠르게 적응하고 매우 많은 양의 데이터를 훈련시킬 수 있는 장점을 가지고 있다.

 

 

 

10. 외부 메모리 학습은 무엇인가?

 

(45p)

컴퓨터의 주 메모리에 들어갈 수 없는 대용량 데이터를 다룰 수 있다.

데이터를 미니배치로 나누고 온라인 학습 기법을 사용해서 학습하는 방법이다.

 

 

11. 예측을 하기 위해 유사도 측정에 의존하는 학습 알고리즘은 무엇인가?

 

(47p)

사례 기반 학습 :훈련데이터를 기역하여 새로운 샘플이 주어지면 유사도 측정을 통해 학습된 샘플 중 가장 비슷한 것을 찾아 예측한다.

 

 

12. 모델 파라미터와 학습 알고리즘의 하이퍼파라미터 사이에는 어떤 차이가 있나?

 

(60p)

모델 파라미터 : 모델은 하나 이상의 파라미터를 사용하여 새로운 샘플이 주어지면 무엇을 예측할지 결정한다. 

학습 알고리즘 : 모델이 새로운 샘플에 잘 일반화되도록 모델 파라미터의 최적값을 찾는다. 따라서 하이퍼파라미터는 모델이 아니라 학습 알고리즘 자체의 파라미터이다.

 

 

13. 모델 기반 알고리즘이 찾는 것은 무언인가?
성공을 위해 이 알고리즘이 사용하는 가장 일반적인 전략은 무엇인지, 예측은 어떻게 만드는 지?

 

(48~49p)

 모델 기반 알고리즘의 목적은 새로운 샘플에 잘 일반화되기 위해서 모델 파라미터의 값을 최적화 시키는 것이다.

훈련 데이터에서 시스템의 예측이 얼마나 나쁜지 측정하고 모델에 규제가 있다면 모델 복잡도에 대한 패널티를 더한 비용 함수를 최소화하여 시스템을 훈련시킨다(오버피팅의 경우). 

 예측을 만들기 위해서 학습 알고리즘이 찾은 파라미터를 사용하는 모델의 예측함수에 새로운 샘플의 특성을 주입한다.

 

 

 

14. 머신러닝의 주요 도전과제는?

 

(53~61p)

부족한 데이터, 낮은 데이터 품질, 대표성이 없는 데이터, 무의미한 특성, 훈련 데이터에 언더피팅되는 과도하게 간단한 모델, 훈련 데이터를 오버피팅 시키는 과도하게 복잡한 모델 등..

 

 

 

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

 

(58p)

훈련 데이터에서 성늘이 좋지만, 새로운 샘플에서 성능이 나쁘다는 것은 오버피팅이 되었을 가능성이 높다.

이에 대한 해결책은 더 많은 데이터를 모으거나, 모델을 단순화 시키거나, 잡음을 감소시키는 방법 등이 있다.

 

 

16. 테스트 세트가 무엇이고, 왜 사용해야하나

 

(61~62p)

테스트 세트는 실전에 배치되기 전에 모델이 새로운 샘플에 대해 만들 일반화 오차를 추정하기 위해서 사용한다.

 

 

17. 검증 세트의 목적은 무엇인가?

 

(62p)

모델을 비교하는 데 사용이 된다.

해당 데이터에 알맞은 모델을 고르고 하이퍼파라미터를 튜닝한다.

 

 

18. 훈련-개발 세트가 무엇인가? 언제 필요하고 어떻게 사용해야하나?

 

(63-64p)

검증 +테스트 데이터 사이에 데이터 불일치 위험이 있을 때 사용한다.

훈련 세트의 일부에서 모델을 훈련하고 훈련-개발 세트와 검증 세트에서 평가한다. 이때,

훈련 세트에서는 잘 작동하지만, 훈련-개발 세트에서 나쁜 성능을 내면 -> 오버피팅.

훈련 세트와 훈련-개발 세트에서는 잘 작동하지만, 검증 세트에서 나쁜 성능 -> 검증+테스트 세트 사이에서 데이터 불일치의 확률이 있다.

따라서,

검증+테스트 테이터에 더 가깝게 되도록 훈련 데이터를 개선해야한다.

 

 

 

19. 테스트 세트를 사용해서 하이퍼파라미터를 튜닝하는 생기는 문제는?

 

(62p)

오버피팅의 위험이 있을 뿐 아니라, 일반화 오차를 낙관적으로 측정하게 된다.

(모델을 출시하면 기대한 것보다 나쁜 성능을 낼 것이다.)

따라서 테스트 세트는 절대 수정이 불가하다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글