반응형

 

하다가 잘 안된다고 머신 러닝 Reboot라는 타이틀까지 붙여놓고 다시 관심을 가져보려고 했는데…

역시나 또 우선순위가 밀려 하다가 흐지부지…ㅠ.ㅠ

 

원래 공부 못하는 애들 특징이 책의 앞부분만 빽빽한 메모가 들어차있고 뒷부분은 새책인 거…-.-

역시 나는 공부 못하는 애들류인가보다…ㅠ.ㅠ

 

그래도 포기하지 않고 끈기있게 달려드는 것이 가상하지 않는가^^;;;

 

머신러닝 Reboot라는 타이틀로 경사 하강법을 정리하던 중이었는데 다시 빠꾸~

핸즈온 머신러닝 (2판)을 처음부터 차근차근 밟아나가야겠다.

전체 내용을 정리하기 보다는 각 챕터의 뒤에 나오는 연습문제를 정리하는 방식으로 학습을 진행해보고자 

한다. 물론 답은 부록에 있는 내용이 아니라 책 본문에 있는 내용을 직접 찾아서 정리를 할 것이다.

 

사실 올해는 로봇 만드는 것만 목표로 했고 인공지능 학습은 내년에 다시 본격적으로 시작하려고 했는데

요즘 너무 시간 활용을 못하는 것 같아 조금 일찍 시작하기로 했다. 일단 이런 식으로 책을 한 권 한 권

독파해나가야겠다.

 

1장 한눈에 보는 머신러닝 연습문제 정리

 

아래 연습문제의 답은 제가 직접 정리한 답으로 정답을 확인하려면 책의 부록을 확인하세요~

 

1. 머신러닝을 어떻게 정의할 수 있나요?

더보기

책에서의 정의 - 데이터를 이용하여 학습하도록 컴퓨터를 프로그래밍하는 과학(또는 예술)

아서 새뮤얼 - 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야.

톰 미첼 - 어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다.

 

톰 미첼의 정의가 가장 복잡한데 한마디로 (컴퓨터 프로그램이) 경험을 통해 성능이 향상되었다면 이것이 곧 인공지능이라는 소리로 알아들으면 될 것 같다. 

 

여기서 중요한 것은 경험인데…사람이라면 단순한 지식 뿐만 아니라 행동과 감각을 통해서 많은 경험을 하게 되지만 컴퓨터는 (아직까지는) 거의 데이터에 의존한 경험이다. 때문에 인간의 행동과 감각을 모방한 센서의 역할이 중요하다고 생각된다. 

 

2. 머신러닝이 도움을 줄 수 있는 문제 유형 네가지를 말해보세요.

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

  •  전통적인 방식으로는 해결 방법이 없는 복잡한 문제

  •  유동적인(변화가 심한) 환경

  •  복잡한 문제와 대량의 데이터에서 통찰 얻기

 

3. 레이블된 훈련 세트란 무엇인가요?

더보기

지도학습에 사용되는 레이블(원하는 답)이 포함된 훈련용 데이터 세트. 스팸 필터에서 ‘스팸’이라고 표시된 데이터 세트나 중고차 가격 수치를 예측하는 시스템에서 ‘중고차 가격’이 표시된 데이터 세트 등

 

4. 가장 널리 사용되는 지도 학습 작업 두 가지는 무엇인가요?

더보기
  •  분류 (말 그대로 분류)

  •  회귀 (특정 값을 예측)

 

5. 보편적인 비지도 학습 작업 네 가지는 무엇인가요?

더보기
  •  군집

  •  시각화와 차원 축소

  •  이상치 탐지 (책의 정답에는 이상치 탐지가 빠져있고 시각화, 차원 축소가 각각 1가지씩으로 간주 됨)

  •  연관 규칙 학습

 

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

더보기

강화학습

 

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

더보기

군집 알고리즘 (책의 추가 답변으로는 그룹 정보가 있는 경우 분류 알고리즘을 이용해서 처리할 수 도 있음)

 

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

더보기

앞서 본 것과 같이 스팸 필터는 레이블된 훈련 세트가 필요하므로 지도 학습에 속함

 

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

더보기

데이터를 순차적으로 한 개씩 또는 미니배치라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시키는 방법. 매 학습 단계가 빠르고 비용이 적게 들어 새로운 데이터가 도착해도 바로 학습을 진행할 수 있음.

연속적으로 데이터를 받고 바른 변화에 스스로 적응해야 하는 시스템이나 자원이 제한적인 경우에 적합.

 

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

더보기

컴퓨터 한 대의 메인 메모리에 들어갈 수 없을 정도로 큰 데이터 세트를 사용하는 경우 데이터의 일부를 읽어 들여 학습을 진행하는 방법을 전체 데이터가 모두 적용될 때까지 반복적으로 수행하는 방식. 보통 오프라인으로 수행되는 점진적 학습 방법 (기법 상으로는 온라인 학습에 속함)

 

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

더보기

사례 기반 학습 - 훈련 데이터를 기억하고 있다가 새로운 데이터를 훈련 데이터와 비교하여 분류

 

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

더보기
  •  모델 파라미터 - 학습알고리즘에 의해 결정되는 파라미터. 학습이 진행되는 동안 최적값을 찾아감

  •  하이퍼파라미터 - 학습알고리즘으로부터 영향을 받지 않는 파라미터. 사람이 결정함. 훈련 전에 미리 지정되고, 훈련하는 동안에는 상수로 처리 됨.

 

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

더보기
  •  모델 기반 알고리즘이 찾는 것 : 최적의 모델 파라미터

  •  성공을 위해 이 알고리즘이 사용하는 가장 일반적인 전략 : 효용 함수의 사용

  •  예측은 어떻게 만드는가 : 결정된 모델에 훈련 데이터가 아닌 새로운 데이터를 입력

 

14. 머신러닝의 주요 도전 과제는 무엇인가요?

더보기
  •  충분하지 않은 양의 훈련 데이터

  •  대표성 없는 훈련 데이터

  •  낮은 품질의 데이터

  •  관련 없는 특성

  •  훈련 데이터의 과대적합

  •  훈련 데이터의 과소적합

 

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

더보기

모델이 훈련데이터셋에서는 성능이 좋지만 새로운 샘플에서의 일반화 성능이 나쁜 것은 훈련데이터에 과대적합 되어있는 것이다. 가능한 해결책은 다음의 3가지 이다.

  •  파라미터 수가 적은 모델을 선택하거나 훈련 데이터의 특성 수를 줄이거나 모델에 제약을 가함

  •  훈련 데이터를 더 많이 모음

  •  훈련데이터에서 오류 데이터를 수정하거나 이상치를 제거함

 

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

더보기

훈련 세트로 학습된 모델을 테스트(평가)하기 위해 사용되는 데이터 세트이며 전체 데이터 세트를 훈련 세트와 테스트 세트로 나누어 사용한다. 

 

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

더보기

모델의 하이퍼파라미터가 테스트 세트에 최적화 되는 상황을 막기 위해 

 

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

더보기

모델의 문제가 훈련세트에 과대적합 되어있는 것인지 데이터가 불일치하여 발생한 것인지를 판단하기 위해 훈련 세트로부터 떼어낸 또 다른 세트.

 

19. 테스트 세트를 사용해 하이퍼파라미터를 튜닝하면 어떤 문제가 생기나요?

더보기

모델과 하이퍼파라미터가 테스트 세트에 최적화되어 최적의 모델을 찾기가 어려워짐.

+ Recent posts