ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 한눈에 보는 머신러닝
    전공 서적/핸즈온 머신러닝 2018. 8. 16. 22:32
    1. 머신러닝을 사용하는가?
      1. 전통적인 접근 방법
        1. 문제가 단순하지 않을 경우 길고 복잡한 규칙으로 인해 유지보수의 난이도가 높아진다.
      2. 머신러닝 기반 접근 방법
        1. 패턴을 감지하여 좋은 기준을 자동으로 학습한다.
          프로그램이 짧아지고 유지 보수하기 쉬우며 정확도가 높다.
        2. 머신러닝 기반 시스템은 변화를 자동으로 인식하고 업데이트 한다.
        3. 전통적인 방식으로는 너무 복잡하거나 알려진 알고리즘이 없는 문제를 해결할 있다.
        4. 머신러닝 알고리즘이 학습한 것을 조사하여 예상치 못한 연관 관계나 새로운 추세를 발견할 수도 있다.
        5. 데이터마이닝
          1. 머신러닝 기술을 적용하여 대용량의 데이터를 분석할 경우 겉으로 보이지 않던 패턴을 발견할 있다.
    2. 머신러닝 시스템의 종류
      1. 지도 학습과 비지도 학습
        1. 지도 학습
          1. 알고리즘에 주입하는 훈련 데이터에 레이블이 포함된다.
          2. 분류
            1. 주어진 데이터들로 학습한 새롭게 들어온 데이터를 분류 한다.
          3. 회귀
            1. 주어진 데이터들로 학습한 새로운 특성들로 타깃 수치를 예측한다.
        2. 비지도 학습
          1. 훈련 데이터에 레이블이 없다.
          2. 시스템이 아무런 도움 없이 학습해야 한다.
          3. 군집
            1. 알고리즘이 데이터 사이의 연결고리를 찾는다.
          4. 시각화
            1. 레이블이 없는 대규모의 고차원 데이터를 입력하면 도식화가 가능한 2D, 3D 표현을 만들어준다.
            2. 데이터의 조직과 예상치 못한 패턴을 발견할 있다.
          5. 차원 축소
            1. 상관 관계가 있는 여러 특성을 하나로 합치는
          6. 이상치 탐지
            1. 시스템은 정상 샘플로 훈련되고, 새로운 샘플이 정상 데이터인지 판단한다.
          7. 연관 규칙 학습
            1. 훈련 데이터 서로 연관이 있는 데이터를 찾아낸다.
        3. 준지도 학습
          1. 레이블이 없는 데이터가 많고 레이블이 있는 데이터가 아주 조금일 사용된다.
        4. 강화 학습
          1. 학습하는 시스템을 에이전트라고 하며 환경을 관찰해 행동을 실행하고 결과 보상 또는 벌점 받는다.
            시간이 지나면서 가장 보상을 얻기 위해 정책이라고 부르는 최상의 전략을 스스로 학습한다.
      2. 배치 학습과 온라인 학습
        1. 배치 학습
          1. 시스템이 점진적으로 학습할 없다.
            가용한 데이터를 모두 사용해서 훈련시켜야 한다.
          2. 시간과 자원을 많이 소모하므로 오프라인에서 수행된다.
          3. 먼저 시스템을 훈련시킨 제품에 적용하면 더이상의 학습 없이 실행된다.
          4. 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 처음부터 다시 훈련해야 한다.
        2. 온라인 학습
          1. 데이터를 순차적으로 개씩 또는 미니 배치라고 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다.
          2. 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습할 있다.
          3. 컴퓨터 대의 메인 메모리에 들어갈 없는 아주 데이터셋을 학습하는 시스템에도
            온라인 학습 알고리즘을 사용할 있다.
            이를 외부메모리 학습이라고 한다.
          4. 온라인 학습 시스템에서 중요한 파라미터 하나는
            변화하는 데이터에 얼마나 빠르게 적응할 것인지를 결정하는 학습률 이다.
            학습률을 높게 하면 시스템이 데이터에 빠르게 적응하지만 예전 데이터를 금방 잊어버린다.
          5. 온라인 학습에서 가장 문제점은 시스템에 잘못된 데이터가 주입되었을
            시스템 성능이 점진적으로 감소한다는 것이다.
      3. 사례 기반 학습과 모델 기반 학습
        1. 머신러닝 시스템은 어떻게 일반화 되는가에 따라 분류할 수도 있다.
          일반화를 위한 접근법에는 사례 기반 학습과 모델 기반 학습이 있다.
        2. 사례 기반 학습
          1. 기존 데이터와 새로운 데이터의 유사도 측정하여 판단.
        3. 모델 기반 학습
          1. 샘플들의 모델을 만들어 예측에 사용하는
    3. 머신러닝의 주요 도전 과제
      1. 충분하지 않은 양의 훈련 데이터
        1. 머신러닝 알고리즘이 작동하려면 데이터가 많아야 한다.

    1.  
    1. 대표성 없는 훈련 데이터
      1. 일반화하려는 사례를 대표하는 훈련 세트를 사용하는 것이 매우 중요하지만 어려울 때가 많다.

    샘플이 작을 경우 샘플링 잡음 생기고
    매우 샘플도 표본 추출 방법이 잘못될 경우 대표성을 띄지 못할 있다.
    이를 샘플링 편향이라고 한다.

    1. 낮은 품질의 데이터
      1. 훈련 데이터에 에러, 이상치, 잡음이 많을 경우 시스템이 작동하지 않는다.

    때문에 훈련 데이터 정제는 중요하다.

    1. 관련 없는 특성
      1. 훈련에 사용할 좋을 특성을 찾는 것은 중요하다.
        과정을 특성 공학이라고 한다.
      2. 특성 공학
        1. 특성 선택
          1. 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택한다.
        2. 특성 추출
          1. 특성을 결합하여 유용한 특성을 만든다.
    2. 훈련 데이터 과대적합
      1. 훈련 세트에 잡음이 많거나 데이터셋이 너무 작으면 잡음이 섞인 패턴을 감지하게 된다.
        이런 패턴들은 새로운 샘플에 일반화 되지 못한다.

     

    1. 모델을 단순하게 하고 과대 적합의 위험을 감소시키기 위해 모델에 제약을 가하는 것을 규제라고 한다.
    1. 훈련 데이터 과소적합
      1. 모델이 너무 단순해서 데이터의 내제된 구조를 학습하지 못할 일어난다.
    1. 테스트와 검증
      1. 모델이 새로운 샘플에 얼마나 일반화될지 알기 위한 방법
      2. 훈련 데이터를 훈련 세트 테스트 세트 개로 나누는 방법
        훈련
        세트를 사용해 모델을 훈련시키고 테스트 세트를 사용해 모델을 테스트 한다.
      3. 최적의 하이퍼파라미터를 찾을 때는 훈련 세트를 사용하여 다양한 하이퍼파라미터로 여러 모델을 훈련 시키고
        검증 세트에서 최상의 성능을 내는 모델, 하이퍼파라미터를 선택한다.
        좋은 모델을 찾을 경우 테스트 세트로 한번의 최종 테스트를 한다.
      4. 훈련 데이터에서 검증 세트에 너무 많은 데이터를 할당하지 않기 위해 교차검증 기법을 사용한다.

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

    '전공 서적 > 핸즈온 머신러닝' 카테고리의 다른 글

    결정 트리  (0) 2018.09.13
    서포트 벡터 머신  (0) 2018.09.12
    모델 훈련  (0) 2018.08.30
    분류  (0) 2018.08.23
    머신러닝 프로젝트 처음부터 끝까지  (0) 2018.08.22

    댓글