ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ML왕초보] 머신러닝이란?
    머신러닝(ML) 2020. 7. 26. 23:13
    반응형

    올해 초 AI/Data 분야의 교육 기획/운영 업무를 맡게 되면서, 데이터분석, 머신러닝에 대한 공부를 시작했습니다.

    그런데, 대부분의 책이나 과정들이 개념설명에 수학 공식도 많고,  사용하는 용어는 왜 이리 어려운 것인지, 완전 초보인 저로서는 이해없이 그냥 예제 코드 돌려보는 것 정도만 반복할 뿐이였어요.

     

    6개월이 지난 지금에서야 아주 기초적인 개념을 파악한 듯 해요. 

    그래서 아주 쉽게 머신러닝에 대해서 정리해 보고자 합니다.

     

    네, 맞습니다. 어느 분들에게는 정말 너무 쉬운 이야기 일 수도 있어요.

    머신러닝에 대해서 처음 시작하시는 분들께 조금이나마 도움이 되면 좋겠습니다.

     

     

    머신러닝이란?

    머신러닝이 무엇인지 설명드리기 전에 우선 아래 표를 봐주세요.

    X : -1 0 1 2 3 4 5
    Y : -2 1 4 7 10 13 16

    X 값과 Y값의 관계(패턴)가 파악이 되시나요?

    ....

    ...

    ..

    .

     

    이미 눈치 챘다고요?

    X 값은 1씩 증가하고, Y 값은 3씩 증가하고 있고, X 와 Y 의 관계를 수식으로 작성하면  ${y=3x+1}$ 로 표시할 수 있네요.

     

    이것을 함수로 표현해 볼까요?

     

    ${f(x)=3x+1}$

    여기까지는 이해 되시죠?

     

    ${f(x)=3x+1}$ 이라는 규칙(rule)을 우리는 알고 있기 때문에 ${x}$에 어떤 값(data)을 넣으면 답(answer)을 구할 수 있게 됩니다.  즉, 일반적인 프로그래밍은 아래 그림처럼 표현할 수 있습니다.

    규칙과 데이터를 입력하면 정답을 찾아내는 과정이죠.

     

    일반적인 프로그래밍 개념

     

     

    반면 머신러닝은 보통의 프로그래밍과 다르게, 데이터와 정답을 넣어 주면 규칙을 만들어 냅니다.

    아래 그림처럼, 데이터로 x 값을 -1,0,1,2,3,4 로 정답을 -2,1,4,7,10,13 을 넣어주면, 머신러닝은 x 값과 정답들을 분석해서 f(x)=3x+1 이라는 규칙을 찾아내는 것이죠.

     

    머신러닝의 개념

     

     

    이렇게 만든 규칙을 머신러닝 세계에서는 '모델(model)' 이라고 합니다.

    그리고 이 모델에 데이터를 넣으면 예측값을 얻을 수 있게 되죠.

     

    예를 들면 여러 이메일과 그 이메일들이 스팸인지 아닌지를 학습 시켜 스팸메일 분류 모델을 만들고 나면, 새로운 이메일이 스팸인지 아닌지 구분하게 됩니다.

     

    머신러닝을 통해서 수신한 이메일이 스팸인지 아닌지 구분할 수 있다.

     

    다음백과에서는 머신러닝을 다음과 같이 정의하고 있습니다.

    머신러닝은 컴퓨터 스스로 데이터를 수집하고 분석해 미래를 예측하는 과정이다. 먼저 컴퓨터를 알고리즘 기반으로 학습시킨 뒤 새로운 데이터를 입력해 결과를 예측하도록 한다. 컴퓨터는 학습한 내용을 기반으로 방대한 양의 빅 데이터를 분석해 앞으로의 행동이나 가능성 등을 판단한다. 

    지금까지 설명드린 내용 그대로이네요. ^^

     

     

    이처럼  머신러닝(Machine-Learning) 은 경험을 통해서 자동으로 개선하는 컴퓨터 알고리즘의 연구로, 아서 사무엘(Arthur Lee Samuel, 1959)은 머신러닝이란 "기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 알고리즘을 개발하는 연구 분야" 라고 정의하였습니다.

     

    머신러닝의 가장 기본적인 용어를 알아볼까요?

    앞서, 머신러닝은 데이터와 정답을 넣어주면 규칙을 만들어 낸다고 했는데요, 규칙을 만들어 내는 과정을 '학습(train)' 이라고 하고, 앞서 설명드렸듯이 학습을 통해 만들어진 규칙을 '모델(model)' 이라고 합니다.

     

    학습에는 다양한 방법이 있는데요, 그 방법들을 '알고리즘(Alogrithm)' 이라고 합니다.

    학습을 위하여 입력하는 데이터와 정답은 각각 '학습데이터(train data)''라벨(label)' 이라고 합니다.

     

    그림으로 표현하면 아래와 같습니다.

     

    학습데이터와 라벨을 입력하면 머신러닝 알고리즘이 모델을 만들어 낸다.

     

    이렇게 만들어진 모델에 데이터를 입력하면 예측값을 구할 수 있습니다.

    예측을 위한 데이터를 '테스트 데이터(test data)' 라고 하고, 모델이 수행한 결과를 '예측(prediction)' 이라고 합니다.

    모델

     

     

    앞으로...

    머신러닝의 가장 기본 개념을 살펴보았는데요, 

    앞으로 공부한 내용들을 조금씩 정리해보고자 합니다.

    얼마나 꾸준히 하게 될지는 모르겠지만..... ㅎㅎ

     

     

     

    참고

     

     

     

     

    반응형

    댓글

Designed by Tistory.