ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 머신러닝에 대한 기본적인 질문들
    Machine learning, Deep learning 2020. 7. 5. 20:59

    1. 머신러닝을 어떻게 정의내릴까?

    -> 머신러닝은 어떤 데이터를 학습하는 데 필요한 하나의 시스템을 설계하는 것과 같다. 여기서 '학습'이란 어떤 데이터 작업에서 목표로 했던 성과 및 성능 지표가 업그레이드되게 하는 것을 말한다.

     

    2. 머신러닝의 도움을 받을 수 있는 4가지의 유형은?

    -> 첫째, 뚜렷한 해결책이 보이지 않는 문제,

         둘째, 수작업으로 만든 긴 규칙 리스트를 대체하는 경우

         셋째, 변화하는 환경에 적응하는 시스템을 만드는 경우

         넷째, 사람에게 통찰을 제공해야 하는 경우

    3. 레이블링된 훈련 세트는 무엇인가?

    -> 각 데이터가 원하는 답이나 특징이 있는데, 로우 데이터에 이러한 특성을 부여하고, 이러한 특성을 부여받은 데이터 셋을 '레이블링된 훈련 세트'라고 한다.

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

    -> 첫째, 회귀(Regression)

         둘째, 분류(Classification)

    5. 보편적으로 사용되는 비지도 학습 네 가지는 무엇인가?

    -> 첫쩨, 군집(Clustering)

         둘째, 시각화(Visualization)

         셋째, 차원 축소(Dimensionary reduction)

         넷째, 연관 규칙 학습법(Association rule learning)

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

    -> 전형적으로 강화 학습이 다루는 유형의 문제이다.

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

    -> 여기서는 두 가지 케이스를 고려할 필요가 있다. 

         첫째, 그룹을 어떻게 정의내릴지 안다?

         -> 분류 알고리즘(지도 학습)에 각 그룹에 대한 샘플을 주입한다. 이렇게 하면 알고리즘이 전체 고객을 이런 그룹으로 분류하게 된다.

         

         둘째, 그룹을 어떻게 정의내릴지 모른다?

         -> 군집 알고리즘(비지도 학습)을 사용할 수 있다.

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

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

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

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

     

    10. 배치 학습이란?

    -> 배치 학습에서는 시스템이 점진적으로 학습할 수 없습니다. 가용한 데이터를 모두 사용해 훈련시켜야 합니다. 이러한 방식은 시간과 자원을 많이 소모하여 일반적으로 오프라인에서 가동된다. 먼저 시스템을 훈련시키고 제품 시스템에 적용하면 더 이상의 학습 없이 실행이 된다.

    즉, 학습한 것을 적용할 뿐이라는 것이다. 이를 오프라인 학습(Offline Learning)이라고 합니다.

     

    배치 학습 시스템이 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 시스템의 새로운 버전을 처음부터 다시 훈련해야 한다..

    이후 이전 시스템을 중지시키고 새로운 시스템으로 교체한다. 이러한 방식은 간단하고 잘 작동하지만 전체 데이터 셋을 사용해 훈련하는데 몇 시간이 소요될 수 있습니다.

     

    또한, 전체 데이터 셋을 사용해 훈련하기 때문에 시스템 자원을 많이 소모합니다. 자원이 제한된 시스템이 스스로 학습해야 할 때 많은 양의 훈련 데이터를 나르고 학습을 위해 자원을 사용하는 경우 문제를 발생시킬 수 있다.

     

    또한, 전체 데이터셋을 활용해서 훈련을 하면 많은 컴퓨팅 자원이 필요하다(CPU, 메모리 공간, 디스크 공간, 디스크 IO, 네트워크 IO등)

     

    이러한 경우들에서는 점진적으로 학습을 할 수 있는 알고리즘을 사용하는 것이 낫다.

     

    11. 외부 메모리 학습이란?

    -> 외부 메모리 알고리즘은 컴퓨터의 주메모리에 들어갈 수 없는 대용량의 데이터를 다룰 수 있게 한다.

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

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

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

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

    -> 모델은 하나 이상의 파라미터(예를 들면 선형 모델의 기울기)를 사용해 새로운 샘플이 주어지면 무엇을 예측할지 결정한다. 학습 알고리즘은 모델이 새로운 샘플에 잘 일반화되도록 이런 파라미터들의 최적 값을 찾는다. 하이퍼파라미터는 모델이 아니라 이런 학습 알고리즘 자체의 파라미터입니다(예를 들면 적용할 규제의 정도).

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

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

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

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

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

    -> 모델이 훈련 데이터에서는 잘 작동하지만 새로운 샘플에서는 형편없다면 이 모델은 훈련 데이터에 과대적합되었을 가능성이 높다(또는 매우 운이 좋은 경우만 훈련 데이터에 있는 것이다). 과대적합에 대한 해결책은 더 많은 데이터를 모으거나, 모델을 단순화하거나(간단한 알고리즘을 선택하거나, 특성이나 파라미터의 수를 줄이거나, 모델에 규제를 추가한다), 훈련 데이터에 있는 잡음을 감소시키는 것이다.

    17. 테스트 세트가 무엇이고 왜 사용해야 하는가?

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

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

    -> 검증 세트는 모델을 비교하는 데 사용된다. 이를 사용해 가장 좋은 모델을 고르고 하이퍼파라미터를 튜닝한다.

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

    ->  테스트 세트를 사용해 하이퍼파라미터를 튜닝하면 테스트 세트에 과대적합될 위험이 있고 일반화 오차는 매우 낙관적으로 측정될 것이다(이 모델을 론칭하면 기대한 것보다 성능이 나쁠 것이 것이다.

    20. 교차 검증이 무엇이고, 왜 하나의 검증 세트보다 선호되는가?

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

     

     

     

Designed by Tistory.