📗강의노트/핸즈온 머신러닝

[핸즈온 머신러닝] 제 1장 정리

728x90
반응형
  • Keywords
머신러닝  : 머신러닝은 데이터로부터 학습할 수 있는 시스템을 만드는 것

데이터 마이닝 : 겉으로는 보이지 않는 패턴을 발견하는 것  

지도 학습 : 훈련 데이터에 레이블이라는 답이 포함
        분류회귀가 대표적

비지도 학습 : 훈련데이터에 레이블이 없음, 아무런 도움 없이 스스로 학습 
        군집, 시각화와 차원 축소, 이상치 탐지, 연관 규칙 학습이 대표적

특성 추출(feature extraction) : 연관된 특성을 하나의 특성으로 합치는 것 

이상치 탐지 : 학습 알고리즘에 주입하기 전 데이터셋에서 이상한 값을 제거하는 것 

준지도 학습 : 일부 데이터만 레이블이 존재

강화 학습 : 시간이 지나면서 보상을 얻기 위한 정책이라 불리는 최상의 전략을 스스로 학습하는 것 

배치 학습 : 시스템이 점진적으로 학습 못함. 가용한 데이터를 모두 사용해 훈련함, 무조건 처음부터 ( = 오프라인 학습 )

온라인 학습 : 순차적(점진적)으로 한 개씩 혹은 미니배치라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련한다. 외부 메모리 학습이라고도 함

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

일반화 : 훈련 데이터에서 좋은 성능을 보이는 것이 아니라 새로운 샘플에 잘 작동하는 모델의 특성

사례 기반 학습 : 단순히 기억하여 학습하고 데이터 간의 유사도 측정을 통해 판단함

모델 기반 학습 : 샘플들의 모델을 만들어 예측에 사용하는 것

모델 파라미터 :  ex. 만족도 = W x GDP + b 라는 모델이 있으면 W, b가 모델 파라미터가 된다.

효용 함수( 비용함수 ) : 모델이 얼마나 좋은지(나쁜지) 측정

샘플링 잡음 : 우연에 의한 대표성 없는 데이터 , 샘플 수 적을 때 발생

샘플링 편향 : 표본이 대표성을 띄지 못하는 것 

특성 공학(feature engineering) : 가지고 있는 특성 중 훈련에 가장 유용한 특성을 선택하는 특성 선택(feature selection)과 특성을 결합하여 더 유용한 특성을 만드는 특성 추출(feature extraction)을 포함하는 좋은 특성을 찾는 것

과대적합(Overfitting) : 모델이 훈련 데이터에 너무 잘 맞지만 일반성이 떨어진다는 뜻

과소적합(Underfitting) : 모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못할 때 일어난다. 훈련 샘플에서 조차도 부정확

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

하이퍼파라미터 : 학습 알고리즘의 파라미터 ( 모델의 파라미터 X ). 학습 알고리즘으로 부터 영향을 받지 않고, 훈련 전 미리 지정되고, 훈련하는 동안 상수로 남아있는다.

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

검증 세트 : 다양한 하이퍼파라미터로 여러 모델을 훈련시키고 검증 세트에서 최상의 성능을 내는 모델과 하이퍼파라미터를 선택

차 검증 : 훈련 세트를 여러 subset으로 나누고 모델을 이 subset조합을 훈려ㄴ시키고 나머지 부분으로 검증, 모델&하이퍼파라미터가 선택되면 전체 훈련 데이터를 사용하여 선택한 하이퍼파라미터로 최종 모델을 훈련시키고 테스트 세트에서 일반화 오차를 측정




  • 연습문제

1. 머신러닝을 어떻게 정의할 수 있나요?
   
머신러닝은 데이터로부터 학습할 수 있는 시스템을 만드는 것이다. 학습이란 어떤 작업에서 주어진 성능 지표가 더 나아지는 것을 의미한다.

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

명확한 해결책이 없는 복잡한 문제 / 수작업으로 만든 긴 규칙 리스트를 대체하는 경우 / 변화하는 환경에 적응하는 시스템을 만드는 경우 / 사람에게 통찰을 제공해야 하는 경우 (ex. 데이터 마이닝)에 머신러닝이 도움을 줄 수 있다.

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

각 샘플에 대해 원하는 정답(레이블)을 담고 있는 훈련 세트이다.

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

회귀 / 분류

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

군집 / 시각화 / 차원 축소 / 연관 규칙 학습

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

강화 학습이 가장 좋은 방법이다. 전형적으로 강화 학습이 다루는 유형의 문제이다. 이 문제를 지도 학습이나 비지도 학습으로 표현하는 것도 가능하지만 일반적이지 않다.

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

그룹을 어떻게 정의할지 모른다면 비슷한 고객끼리 군집으로 나누기 위해 군집 알고리즘(비지도 학습)을 사용할 수 있다. 그러나 어떤 그룹이 있어야 할지 안다면 분류 알고리즘(지도 학습)에 각 그룹에 대한 샘플을 주입한다. 그러면 알고리즘이 전체 고객을 이런 그룹으로 분류하게 될 것이다. 

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

스팸 감지는 전형적인 지도 학습 문제이다. 알고리즘에 많은 이메일과 상응하는 레이블 (스팸인지 아닌지)이 제공된다.

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

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

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

외부 메모리 알고리즘은 대용량의 데이터를 다룰 수 있다. 외부 메모리 학습 알고리즘은 데이터를 미니배치로 나누고 온라인 학습 기법을 사용해 학습한다.

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

인스턴스(사례) 기반 학습 시스템은 훈련 데이터를 기억하는 학습입니다. 새로운 샘플이 주어지면 유사도 측정을 사용해 학습된 샘플 중에서 가장 비슷한 것을 찾아 예측으로 사용한다.

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

하이퍼파라미터(적용할 규제의 정도)는 모델 학습 전에 미리 지정해야 하는 학습 알고리즘이 자체적으로 가지고 있는 파라미터입니다. 반대로 만들어진 모델의 파라미터를 모델 파라미터(선형 모델의 기울기)라고 한다.

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

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

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

부족한 데이터, 낮은 데이터 품질, 대표성 없는 데이터, 무의미한 특성, 훈련 데이터에 과소적합된 과도하게 간단한 모델, 훈련 데이터에 과대적합된 과도하게 복잡한 모델등이 직면하는 도전 과제이다. 

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

훈련 데이터에 과대적합(Overfitting)되었을 가능성이 높다. 이를 해결하기 위해서는 더 많은 데이터를 모으거나 / 모델을 단순화하거나(단순한 알고리즘 선택, 특성이나 파라미터의 수 줄이기. 모델에 규제를 추가) / 훈련 데이터에 있는 잡음을 감소시키는 것 

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

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

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

모델을 비교하는 데 사용된다. 이를 사용해 가장 좋은 모델을 고르고 하이퍼파라미터를 튜닝한다. 다양한 하이퍼파라미터로 여러 모델을 훈련시키고 검증 세트에서 최상의 성능을 내는 모델과 하이퍼파라미터를 선택. 

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

테스트 데이터를 사용해 하이퍼파라미터를 튜닝하면 테스트 세트에 과대적합(Overfitting)될 위험이 있고, 일반화 오차는 매우 낙관적으로측정될 것이다. ( 모델의 성능이 예상보다 나쁠 것 )

19. 교차 검증이 무엇이고, 왜 하나의 검증 세트보다 선호하나요?

검증 세트를 별도로 분리하지 않고 ( 모델 선택과 하이퍼파라미터 튜닝을 위해 ) 모델을 비교할 수 있는 기술이다. 이는 훈련 데이터를 최대한 활용하도록 도와준다. 







728x90
반응형