Post

머신러닝과 데이터마이닝

들어가기에 앞서

반갑습니다. 하도 많이 이야기하는 머신러닝에 대해 정리를 하려고 합니다. 조금 들어가기에 앞서, 머신러닝과 데이터마이닝의 차이에 대해 이해해봅시다.

머신러닝 (maching learning)

머신러닝(기계학습)이란 무엇인가요? 너무 많이 들어본 단어입니다. 이 기회에 제대로 알고 갑시다. 머신러닝이란, 적당한 과거의 예시들을 입력으로, 알고리즘을 만들어, 이를 활용하여 미래를 예측하는(predict) 모델을 만드는 것입니다. 과거의 예시들을 통해서 새로운 입력에 대한 예측을 낼 수 있는 데이터 구조를 만드는 과정을 모델을 만든다고 표현합니다. 이 모델은 데이터들의 구조를 잘 보존해야겠죠. 이를 통해, 예측을 하고, 상황에 대한 어떤 경향성을 띄는지 등의 분석을 할 수 있습니다.

인간은 늘 미지의 영역에 도달하고자 합니다. 즉, 미래라는 미지의 영역을 감히 예측하고자 합니다. 하지만 이는 매우 어렵죠. 왜냐하면 너무 많은 변인들이 존재하기 때문입니다.

직관적인 예시로, 어떤 사람이 5일 연속으로 노래방에 갑니다. 과연 6일차인 오늘 노래방에 갈까요? 정답은 모른다입니다. 경향을 보니 오늘 올 가능성이 높겠다고 추측은 할 수 있지만, 여러 변인들이 존재합니다. 미안한 이야기지만, 갑자기 교통사고가 나서 못 올수도 있고, 갑자기 약속 이 생겼을수도 있는 것이니까요. 즉, 미래의 상황을 예측하기엔 너무 많은 변인들이 존재하기에, 완벽한 미래를 예측할 순 없습니다.

아카식 레코드라는 단어를 들어보셨는가요? 좀 마이너한 단어긴 한데, 간략하게 말하자면 세상에 존재하는 모든 데이터들을 모아둔 데이터베이스가 존재한다는 가설입니다. 우리가 이 데이터베이스에 접근할 수 있는 권한을 획득했다는 가정을 해보겠습니다.

데이터베이스에 접속해서, 어떤 사람이 노래방을 가는 날에 대한 상황(변인)을 획득했습니다. 이를 통해서 우리가 가설을 세우고 (model), 현재 상황을 분석해서(입력), model을 가지고 노래방에 갈지/안갈지에 대한 결과(예측)를 추측했습니다.

즉, 기존에는 5일동안의 기록을 가지고, 예측을 한 반면 지금 상황은 매우 많은 example들을 사용해서, 예측을 했습니다. 많은 데이터를 사용했으니, 과연 예측을 잘 할 수 있을까요?

정답은 예측을 잘 할 순 있지만, 확실하진 않다입니다. 왜냐하면 기존의 example과 전혀 다른 상황이 오늘 그 사람이 노래방에 갈지 안갈지를 결정할 수 있기 때문입니다. 과거 데이터들에는 적합한 모델일지 몰라도, 현재 상황에 대해선 어찌 될지 모른다는 것이 문제입니다. 이 문제를 overfitting problem이라고 합니다. 너무 과거의 데이터들에만 집중해서, 모델을 만들면 새로운 상황엔 예측하기에 좀 분리할 수 있다!라고 생각하시면 됩니다.

현대 머신러닝 모델들은 rule(규칙 기반), decision tree(의사결정나무), 선형회귀(linear regression) 등등의 방식을 통해 구현됩니다.

Data mining

다들 마인크래프트 해보셨는지? 접두사 마인(mine)이 데이터마이닝의 mining과 의미가 같습니다. mine은 광물을 캐다라는 의미입니다. 데이터마이닝은 그럼 데이터를 발굴하는 것인가요? 데이터를 발굴하는 의미보단, 기존에 있던 데이터를 사용해서, 새로운 data를 캔다 정도로 이해하면 됩니다. 즉, 암묵적이고, 이전에 알려지지 않은, 잠재적으로 유용한 정보를 획득하는 과정을 말합니다. 또한, 데이터 전처리, 통합, 변환 등등의 모든 과정을 포함합니다.

위 노래방 상황에 대한 많은 데이터를 알고 있습니다. 이를 통해 완벽하진 않지만, 대략적인 경향성은 이해할 수 있습니다. 뭐 비가 오는 날에는 가지 않을 확률이 높다.. 이 정도는 충분히 얻기 가능합니다. 이것이 기존의 데이터를 가지고, 패턴을 이해하는 데이터마이닝이라고 할 수 있습니다.

차이점

비슷하지만 다른 이 친구들의 차이점을 요약해보겠습니다.

1
2
머신러닝은 기존의 데이터를 사용해서 모델을 학습시킵니다. 이를 통해 새로운 미래를 예측하는 것을 말합니다. 
데이터마이닝은 기존의 데이터를 사용해서, 패턴 등 알려지지 않은 사실을 분석하는 과정입니다.

마무리하며

데이터마이닝과 머신러닝의 차이에 대해 알아보았습니다. 다음 글에선 머신러닝에 대해 조금 더 자세하게 이해해봅시다.

This post is licensed under CC BY 4.0 by the author.