1. 머신러닝을 어떻게 정의할 수 있나요?
어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상 도ㅒㅆ다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다. - 1997, 톰 미첼
머신러닝은 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구분야다 - 1959, 아서 새뮤얼
[예시]
스팸 필터는 사용자가 스팸이라고 지정한 스팸 메일과 일반 메일의 샘플을 이용해 스팸 메일을 구분한다.
training set(훈련 세트): N개, 시스템이 학습하는 데 사용하는 샘플
training instance(=sample, 훈련 사례) :N개의 training set의 각 훈련 데이터
작업 T : 새로운 메일이 스팸인지 구분하는 것
성능 측정 P : 직접 정의해야 하는 것, 정확도(Accuracy)
책 정답 : 머신러닝은 데이터로부터 학습할 수 있는 시스템을 만드는 것입니다. 학습이란 어떤 작업에서 주어진 성능 지표가 더 나아지는 것을 의미합니다.
2. 머신러닝이 도움을 줄 수 있는 문제 유형 네 가지를 말해보세요.
- 이미지 분석 : CNN
- 자연어 처리(NLP) : RNN
- 회귀(regression) : 예측하기
- 군집화(clustering) : 그룹으로 만들기
책 정답 : 명확한 해결책이 없는 복잡한 문제, 수작업으로 만든 긴 규칙 리스트를 대체하는 경우, 변화하는 환경에 적응하는 시스템을 만들 경우, 사람에게 통찰을 제공해야 하는 경우(예를 들면 데이터 미이닝)에 머신러닝이 도움을 줄 수 있습니다.
3. 레이블된 훈련 세트란 무엇인가요?
정답을 이미 알고 있는 훈련세트라고 생각하면 됩니다. 지도 학습(Supervised learning)에는 알고리즘에 주입하는 훈련 데이터에 레이블(label)이라는 원하는 답이 포함됩니다. 분류(Classification)가 전형적인 지도 학습 작업이며, 스팸 필터가 좋은 예입니다. - 문제 8번으로 이어짐
책 정답 : 레이블도니 훈련 세트는 각 샘플에 대해 원하는 정답(레이블)을 담고 있는 훈련 세트입니다.
4. 가장 널리 사용되는 지도 학습 작업 두 가지는 무엇인가요?
- 분류 작업(classification) : 스팸인지 아닌지 메일을 분류하는 작업
- 회귀(regression) : predictor variable이라 부르는 feature(주행거리, 연식, 브랜드 등)을 사용해 중고차 가격 같은 target의 수치를 예측하는 것
책 정답 : 가장 일반적인 두 가지 지도 학습 문제는 회귀와 분류 입니다.
5. 보편적인 비지도 학습 작업 네 자지는 무엇인가요?
- 계층 군집(hierarchical clustering) : 그룹화를 통해서 분류해 보는 것
- 시각화(visualization) : 시각화 된 그래프를 통해서 예상치 못한 패턴을 발견할 수 있음
- 차원축소(dimensionality reduction) : 너무 많은 정보를 잃지 않으면서 데이터를 간소화 하려는 작업
- 연관 규칙 학습(association rule learning) : 대량의 데이터에서 특성 간의 흥미로운 관계를 찾는 방법.
- 이상치 탐지(outlier dectection), 특이치 탐지(novelty detection)
책 정답 : 보편적인 비지도 학습 문제는 군집, 시각화, 차원 축소, 연관 규칙 학습입니다.
6. 사전 정보가 없는 여러 지형에서 로봇을 걸어가게 하려면 어떤 종류의 머신러닝 알고리즘을 사용할 수 있나요?
강화 학습(reinforcement learning)으로 환경(environment)를 관찰해서 행동(action)을 실행하고 그 결과로 보상(reward) 또는 벌점(penalty)를 받도록 하는 알고리즘을 사용한다.
책 정답 : 알려지지 않은 지형을 탐험하는 로봇을 학습시키는 가장 좋은 방법은 강화학습 입니다. 이는 전형적으로 강화 학습이 다루는 유형의 문제입니다. 이 문제를 지도 학습이나 비지도 학습으로 표현하는 것도 가능하지만 일반적이지 않습니다.
7. 고객을 여러 그룹으로 분할하려면 어떤 알고리즘을 사용해야 하나요?
비지도학습인 clustering을 통해서 여러 그룹으로 세분화해서 본다.
책 정답 : 만약 그룹을 어떻게 정의할지 모른다면 비슷한 고객끼리 군집으로 나누기 위해 군집 알고리즘(비지도 학습)을 사용할 수 있습니다. 그러나 어떤 그룹이 있어야 할 지 안다면 분류 알고리즘(지도 학습)에 각 그룹에 대한 샘플을 주입합니다. 그러면 알고리즘이 전체 고객을 이런 그룹으로 분류하게 될 것입니다.
8. 스팸 감지의 문제는 지도 학습과 비지도 학습 중 어떤 문제로 볼 수 있나요?
지도 학습 문제로 볼 수 있다. 분류를 통해 스팸인지 아닌지로 구별을 할 수 있기 때문이다.
책 정답 : 스팸 감지는 전형적인 지도 학습 문제입니다. 알고리즘에 많은 이메일과 이에 상응하는 레이블(스팸 혹은 스팸 아님)이 제공됩니다.
9. 온라인 학습 시스템이 무엇인가요?
데이터를 순차적으로 한 개씩 또는 미니배치(mini-batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다. 매 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습할 수 있다. 온라인 학습은 연속적으로 데이터를 받고(예를 들면 주식가격) 빠른 변화에 스스로 적응해야하는 시스템에 적합하다.
[책 그림 1-13 참고]
책 정답 : 온라인 학습 시스템은 배치 학습 시스템과 달리 점진적으로 학습할 수 있습니다. 이 방식은 변화하는 데이터와 자율 시스템에 빠르게 적응하고 매우 많은 양의 데이터를 훈련시킬 수 있습니다.
10. 외부 메모리 학습이 무엇인가요?
컴퓨터 한 대의 메인 메모리에 들어갈 수 없는 아주 큰 데이터셋을 학습하는 시스템에도 온라인 학습 알고리즘을 사용할 수 있다. 알고리즘이 데이터 일부를 읽어 들이고 훈련 단계를 수행한다. 전체 데이터가 모두 적용될 때까지 이 과정을 반복한다. [책 그림 1-14 참고]
** 외부 메모리 학습은 보통 오프라인으로 실행된다. 따라서 온라인 학습보다는 점진적 학습(incremental learning)이 더 맞는 말같다.
책 정답 : 외부 메모리 알고리즘은 컴퓨터의 주메모리에 들어갈 수 없는 대용량의 데이터를 다룰 수 있습니다. 외부 메모리 학습 알고리즘은 데이터를 미니배치로 나누고 온라인 학습 기법을 사용해 학습합니다.
11. 예측을 하기 위해 유사도 측정에 의존하는 학습 알고리즘은 무엇인가요?
사례 기반 학습 : 유사도를 측정해서 시스템이 훈련 샘플을 기억함으로써 학습합니다.
책 정답 : 사례 기반 학습 시스템은 훈련 데이터를 기억하는 학습입니다. 새로운 샘플이 주어지면 유사도 측정을 사용해 학습된 샘플 중에서 가장 비슷한 것을 찾아 예측으로 사용합니다.
12. 모델 파라미터와 학습 알고리즘의 하이퍼파라미터 사이에는 어떤 차이가 있나요?
모델 파라미터: 모델을 사용하기 전에 정의해야하는 파라미터를 말하며, 모델이 최상의 성능을 내도록 하는 값을 말한다. 모델 훈련은 훈련 데이터에 가장 잘 맞는 모델 파라미터를 찾기 위해 알고리즘을 실행하는 것을 의미한다.
학습 알고리즘의 하이퍼파라미터 : 학습 알고리즘으로부터 영향을 받지 않으며, 훈련 전에 미리 지정되고, 훈련하는 동안에는 상수로 남아있는 것을 말한다.
책 정답 : 모델은 하나 이상의 파라미터(예를 들면 선형 모델의 기울기)를 사용해 새로운 샘플이 주어지면 무엇을 예측할 지 결정합니다. 학습 알고리즘은 모델이 새로운 샘플에 잘 일반화되도록 이런 파라미터들의 최적값을 찾습니다. 하이퍼파라미터는 모델이 아니라 이런 학습 알고리즘 자체의 파라미터 입니다(예를 들면 적용할 규제의 정도).
13. 모델 기반 알고리즘이 찾는 것은 무엇인가요? 성공을 위해 이 알고리즘이 사용하는 가장 일반적인 전략은 무엇인가요? 예측은 어떻게 만드나요?
샘플로부터 일반화시키기 위한 샘플들의 모델을 만들어서 예측(prediction)에 사용하는 것을 모델 기반 학습이라고 한다. 성공을 위해 모델 기반 알고리즘은 선형회귀 알고리즘을 이용한다.
책 정답 : 모델 기반 학습 알고리즘은 새로운 샘플에 잘 일반화되기 위한 모델 파라미터의 최적값을 찾습니다. 일반적으로 훈련 데이터에서 시스템의 예측이 얼마나 나쁜지 측정하고 모델에 규제가 있다면 모데 ㄹ복잡도에 대한 패널티를 더한 비용 함수를 최소화함으로써 시스템을 훈련시킵니다. 예측을 만들려면 학습 알고리즘이 찾은 파라미터를 사용하는 모델의 예측 함수에 새로운 샘플의 특성을 주입합니다.
14. 머신러닝의 주요 도전 과제는 무엇인가요?
어떤 데이터에 어떤 학습 알고리즘을 선택에서 훈련시키는 것이 가장 좋을지 찾는 것이 목표이다.
데이터의 수에 따라, 어떤 모델을 사용할지 정해야 하며, 그 과대적합인지 과소적합인지를 판단해야한다.
책 정답 : 머신러닝의 주요 도전 과제는 부족한 데이터, 낮은 데이터 품질, 대표성 없는 데이터, 무의미한 특성, 훈련 데이터에 과소적합된 과도하게 간단한 모델, 훈련 데이터에 과대적합된 과도하게 복잡한 모델 등입니다.
15. 모델이 훈련 데이터에서의 성능은 좋지만 새로운 샘플에서의 일반화 성능이 나쁘다면 어떤 문제가 있는 건가요? 가능한 해결책 세 가지는 무엇인가요?
과대적합(overfitting)이 나타났다고 말할 수 있다.
1. 파라미터 수가 적은 모델을 선택하거나, 훈련 데이터에 있는 특성 수를 줄이거나, 모델에 제약을 가하여 단순화 시킨다.
2. 훈련데이터를 더 많이 모은다.
3. 훈련 데이터의 잡음을 줄인다.(오류 데이터 수정과 이상치 제거)
책 정답 : 모델이 훈련 데이터에서는 잘 작동하지만 새로운 샘플에서는 형편없다면 이 모델은 훈련 데이터에 과대적합되었을 가능성이 높습니다.(또는 매우 운이 좋은 경우만 훈련 데이터에 있는 것입니다.) 과대 적합에 대한 해결책은 더 많은 데이터를 모으거나, 모델을 단순화하거나(간단한 알고리즘을 선택하거나, 특성이나 파라미터의 수를 줄이거나, 모델에 규제를 추가합니다.), 훈련 데이터에 있는 잡음을 감소시키는 것입니다.
16. 테스트 세트가 무엇이고 왜 사용해야 하나요?
훈련 데이터를 훈련 세트와 테스트 세트로 나눠서 훈련 세트로 모델을 훈련하고 테스트 세트를 사용해 모델을 테스트하는 것을 말한다. 새로운 샘플에 대한 오류 비율을 일반화 오차라고 하며, 테스트 세트에서 모델을 평가함으로써 이 오차에 대한 추정값(estimation)을 얻어 이전에 본 적이 없는 새로운 샘플에 모델이 얼마나 잘 작동할지를 알려준다.
책 정답 : 테스트 세트는 실전에 배치되기 전에 모델이 새로운 샘플에 대해 만들 일반화 오차를 추정하기 위해 사용합니다.
17. 검증 세트의 목적은 무엇인가요?
훈련세트의 일부를 떼어내어 여러 후보 모델을 평가하고 가장 좋은 하나를 선택하는 검증 세트라고 한다.
훈련 세트에서 다양한 하이퍼파라미터 값을 가진 여러 모델을 훈련하고 검증 세트에서 가장 높은 성능을 내는 모델을 선택한다. 모델이 새로운 데이터에 잘 작동하지 않을 수 있기 때문에 검증하기 위해서 검증 세트를 이용한다.
책 정답 : 검증 세트는 모델을 비교하는 데 사용됩니다. 이를 사용해 가장 좋은 모델을 고르고 하이퍼파라미터를 튜닝합니다.
18. 훈련-개발 세트가 무엇인가요? 언제 필요하고 어떻게 사용해야 하나요?
모델이 훈련 세트에 과대 적합되었기 때문인지, 데이터가 불일치 하기 때문인지 알기 어렵기 때문에 훈련 데이터에서 일부를 떼어 다른 세트를 만드는 것을 말한다. 모델이 잘 작동하면 훈련 세트에 과대적합된 것이 아니다. 이 모델이 검증 세트에서 나쁜 성능을 낸다면 이문제는 데이터 불일치에서 오는 것이다.
책 정답 : 훈련-개발 세트는(모델을 실전에 투입했을 때 사용될 데이터와 가능한 최대로 가까워야하는) 검증, 테스트 세트에 사용되는 데이터와 훈련 세트 사이에 데이터 불일치 위험이 있을 때 사용합니다. 훈련 세트의 일부에서 모델을 훈련하고 훈련-개발 세트와 검증 세트에서 평가합니다. 모델이 훈련 세트에서 잘 동작하지만 훈련-개발 세트에서 나쁜 성능을 낸다면 아마도 훈련 세트에 과대적합되었을 가능성이 높습니다. 훈련 세트와 훈련-개발 세트 양쪽에서 모두 잘 동작하지만 검증 세트에서 성능이 나쁘다면 훈련 데이터와 검증+테스트 데이터 사이에 데이터 불일치가 있을 가능성이 높습니다. 검증+테스트 데이터에 더 가깝게 되도록 훈련 데이터를 개선해야 합니다.
19. 테스트 세트를 사용해 하이퍼파라미터를 튜닝하면 어떤 문제가 생기나요?
테스트 세트를 사용해 하이퍼파라미터를 튜닝하면 과적합이 될 수 있다.
책 정답 : 테스트 세트를 사용해 하이퍼파라미터를 튜닝하면 테스트 세트에 과대적합될 위험이 있고 일반화 오차를 낙관적으로 측정하게 됩니다(모델을 출시하면 기대한 것보다 나쁜 성능을 낼 것입니다.)
memo ; 우선 11번까지 답변을 했다. 나머지 질문에 대한 답변은 추가할 예정이다. -기록 : 2021년 1월 13일 수
나머지 추가 답변도 완성했다 - 기록 : 2021년 1월 17일 일
참고로 정답이 아닐 수도 있다. 그냥 공부한 것을 기록 중입니다.
'소소한 일상 > 소소한 책' 카테고리의 다른 글
핸즈온 머신러닝 2판 - 4.7 연습문제 (0) | 2021.02.04 |
---|---|
핸즈온 머신러닝 2판 - 3.8 연습문제 (0) | 2021.01.27 |
핸즈온 머신러닝 2판 - 2.10 연습문제 (0) | 2021.01.18 |
핸즈온 머신러닝 2판 -1.7 연습문제 (0) | 2021.01.11 |