• 기계학습(ML; Machine Learning)이란 무엇인가?
    •  일종의 소프트웨어(프로그램)로 명시적인 프로그램(explicit program)이다.
      • 명시적인 프로그래밍(explicit programming)이란
        • 개발자가 이런 환경에서는 이렇게 반응하고, 저런 환경에서는 저렇게 반응하도록 만드는 것
      • 명시적인 프로그래밍의 한계
        • 어떤 부분에서는 명시적으로, 정확하게 프로그래밍하기가 어려운 경우가 있다.
          • 스팸 필터 : 규칙이 너무나 많아 개발자들이 규칙을 적용하는 것이 어렵다.
          • 자율 주행 : 주행하기에 너무나 많은 규칙을 따라야 하는데 이를 구현하는 것이 어렵다
    • Arthur Samuel의 정의(1959)
      • 규칙을 일일이 프로그래밍하지 말고, 어떤 자료에서 혹은 어떤 현상에서 자동적으로 배우면 어떨까?하는 생각을 함
      • "Field of study that gives computers the ability to learn without being explicitly programmed"
      • 기계학습은 프로그램으로서, 개발자가 일일이 어떻게 하는지 정의하지 않고, 이 프로그램 자체가 어떤 데이터를 보고 학습하여, 학습에서 무언가를 배우는 영역을 갖는 프로그램


  • 학습(Learning)이란 무엇인가?
    • 기계학습 프로그램은 학습을 해야하기 때문에 학습에 필요한 데이터를 제공해야 한다.
    • 학습 방벙에 따라 다음 2가지로 분류한다.
    • 지도 학습(Supervised* Learning): *supervised : 감독하에
      • 미리 표시가 되어 정해져 있는 데이터(labeled data)를 가지고 학습하는 것
      • labeled data를 training set이라고 함
      • training set의 예
        • 고양이의 그림을 주면서 고양이라고 학습을 시킴

      • 기계학습의 가장 일반적인 문제
        • image labeling : 표시된 이미지를 통한 학습
        • 이메일 스팸 필터 : 스팸인지 아닌지 표시된 이메일을 통한 학습
        •  시험성적 예측 : 이전에 시험을 본 사람들이 공부하는데 소요된 시간과 점수를 통한 학습
      • Training data set
        • 어떤 기계학습 프로그램에 표시된 데이터로 학습을 시키면 어떤 모델이 만들어진다. 이 때 표시된 데이터를 training data set이라고 한다.   

 

        • Training data set으로 만들어진 기계학습 모델을 통해 모르는 값에 대한 결과값을 알아낼 수 있다.

        • AlphaGo도 기보를 training data set으로 학습한 기계학습 프로그램

      • 지도 학습는 결과에 따라 분류를 할 수 있다.  
        • 회귀(regression) : 공부한 시간에 따른 시험 점수 예측
          • 다음과 같은 데이터로 학습시킨 다음에 7시간 정도 공부했을 때 몇 점이나 받을까?

            x(공부한 시간)

            y(시험 점수)

            10

             90

             9

             80

             3

             50

             2

             30


        • 이진 분류(binary classification) : 공부한 시간에 따른 시험 점수를 통과와 실패 두 종류로 분류
        • 다중 분류(multi-label classification) : 공부한 시간에 따른 시험 점수를 등급(A, B, C, E, F)으로 분류


    • 비지도 학습(Unsupervised Learning)
      • 어떤 데이터의 경우에는 우리가 일일이 표시(labeling)할 수가 없다.
      • 자동적으로 유사한 뉴스를 모으는 Google news grouping
      • 단어들 간에 비슷한 단어를 모는 기계학습 프로그램의 경우에는 데이터를 보고 스스로 학습을 해야 한다


+ Recent posts