수능도 끝난 지금. 학생부 전형, 논술 전형 등등 다양한 수시 시즌을 보내고 있는 고3을 맞이하여 아주대학교에서도 면접을 보았다고 합니다.


고등학교 생활 3년 동안 C언어는 1도 몰랐었었는데 요즘 친구들은 C, C++, Python까지도 한 번 써보고, 아두이노 kit를 이용하여 간단하나마 뭐라도 만들어 보고 이를 면접에 활용한다는 소리를  듣고 와... 대단하다라는 생각을 하던 찰나 피보나치 정렬을 사용해보고, 피보나치 정렬이 버블 정렬보다 더 좋다는 대답에  교수님이 하신 질문...

"더 좋다의 기준은 무엇인가요???"

이 질문에 어떤 학생은... 빅오 표기법에 대해서 이야기를 했다는 것... ㅋ


진짜 빅오 표기법은 내가 자료구조 및 알고리즘 수업, 그것도 3학년에 되서야 처음 들어본 프로그램의 성능을 나타내는 지표 중 하나인 것을 알았는데 빅오 표기법을 면접 내용으로 꺼낼 수 있는 것 자체만으로도 정말 요즘 고3은 내가 보냈던 고3 생활보다 더 열심히 살아가고 있는구나라는 생각이 들었다.


교수님이 하시는 말씀을 들어보니 "모른다"라는 대답에 대해서는 점수를 깎지 않고, 거짓으로 대답하는 질문에 대해서만 점수를 깎았다고 하시는 것... 이러한 면접의 특성은 내가 회사에 들어갈 때도 동일하게 작용하지 않을까 하는 생각이 든다.



여담은 이쯤 하고

오늘 이렇게 수업 필기를 하는 이유는


교수님의 박사 생활 때 있었던 IBM에서의 인턴 생활을 하기까지, 졸업이 늦춰짐에도 불구하고 데이터 마이닝이라는 분야를 결정하여, 그렇게 돌진하신 일화가 너무 인상깊었기 때문이다.


데이터 마이닝이란?

대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아 내는 것이다. 다른 말로는 KDD(데이터베이스 속의 지식 발견, knowledge-discovery in databases)

이라고 위키 피디아에는 정의되어 있다.


유의미한 정보의 발견. 그리고 그 정보의 지식화.


예를 하나 들어보자.

어떠한 통계를 보니 월마트에서 금요일 퇴근 시간에 맥주와 기저귀와의 판매량이 다른 시간대보다 월등히 높다는 결과가 나왔다.

맥주와 기저귀... 이 둘은 전혀 상관관계가 없어 보이는 상품 묶음인데 왜 이러한 결과가 나왔는지 해당 제품들을  구매하는 사람들에게 물어본 결과

"금요일 저녁에 축구 리그전이 있는데 기저귀같이 부피가 큰 제품은 미리 사가지 않으면 축구 경기를 보다가 사가야 하는 경우가 생깁니다. 이를 미연에 방지하기 위해 맥주와 기저귀를 같이 사가는 것이죠"

이를 깨달은 마케팅 부서는 맥주 코너 옆에 기저귀 코너를 놓고 맥주 상품에는 기저귀 할인 쿠폰을, 기저귀에는 맥주 할인 쿠폰을 부착하였더니 매출이 더욱 올랐다는 일화가 있다.


데이터 마이닝은 맥주와 기저귀의 상관관계를 판매량이라는 데이터를 이용하여 정보화 하는 것이라고 보면 되는 것이다.


이러한 데이터 마이닝은 사용 가능한 분야가 정말 무궁무진하다.

알파고와 이세돌의 격전을 예로 한 번 들어보자.

알파고는 학습을 통해 바둑이라는 경기에 대한 패턴을 익힌다.

그리고 대국 진행 과정에서 이전에 놓인 대국의 패턴을 분석하여 미래를 예측하는(predictioin) AI인 것이다.

15수를 앞서 볼 수 있는 것(15개의 패턴이 연결되어 있는 것)과 20수를 앞서 볼 수 있는 것 중 20수를 앞서 볼 수 있는 머신이 더욱 좋은 성능을 가지게 될 것이다.


이를 통해 알 수 있는 것.

데이터 마이닝, 머신 러닝은 결과적으로 데이터의 패턴을 파악하는 것. 해당 패턴의 depth가 낮으면 가까운 미래만 예측 할 수 있을 것이고, 패턴의 depth가 깊으면 더욱 먼 미래까지 예측할 수 있을 것이다.


월마트의 예시도 일정 깊의 패턴을 해석하여 맥주와 기저귀와의 관계를 유의미하게 만든 것 중 하나라고 볼 수 있다.


이러한 prediction은  의료 분야에서도 사용될 수 있다.

"Body Parts on a chip"

우리의 몸은 다양한 기관이 유기적으로 연결되어 있다. 우리의 몸은 외부의 다양한 자극에 좌우되지 않기 위해 호르몬 등을 이용한 항상성 유지에 많은 에너지를 사용한다. 이러한 항상성 유지 메커니즘에 문제가 발생하면 우리의 몸 여기 저기에 문제가 발생하게 된다.

그러나 만약 신체 기관들 사이의 관계를 모두 파악하게 된다면, 우리 신체의 ph가 조금 낮아지게 되면 우리의 몸이 어떠한 변화를 야기하는지 모든 결과를 알 수 있다면? 병을 진단하는데 있어서 확실한 지표가 될 수 있을 것이다.

더 나아가서, 의사가 필요없을지도 모르겠다.

이러한 데이터들의 관계 역시 데이터 마이닝이라는 기법을 통해서 얻을 수 있는 information 중 하나인 것이다.

관계의 깊이가 더욱 깊어질 수록 accuracy가 더 올라가는..ㅎ


데이터 마이닝의 의미는 이쯤하고....

data와 information 그리고, knowledge에 대해서 한 번 이야기를 해보자.


data는 무엇일까? 데이터를 한국 말로 하면 "자료"라고 볼 수 있다. 자료는 있는 그대로 사용할 수 없다. 일련의 "해석" 과정을 거쳐 가치가 있는 것으로 변화시켜야 우리에게 쓸모가 있는 것이다.

음식으로 보면 재료라고 보면 되겠다.


이러한 데이터들을 유의미한 결과로 바꾼 결과가 바로 information(정보)이다. 맛있게 완성된 요리라고 할 수 있겠다.

그리고 이러한 정보를 쌓게 되면 바로 knowledge(지식)이 되는 것이다. 바로 언제든지 사용할 수 있는 레시피가 되는 것이다.


자 아래의 그림을 한 번 보자


데이터가 지식이 되는 과정은 정말 고되다. 변환된 데이터를 패턴화 시켜주는 데이터 마이닝 과정을 거치기 이전에만 3단계를 더 거쳐야 한다.


해당 과정은 아직까지는 노가다 말고는 해결 방법이 없다. 이 방법, 저 방법 다 써봄으로써 불필요한 데이터를 제거하고, 남아있는 데이터를 패턴화 시키기 위해 끊임없는 시행착오를 거쳐야 한다.

어떻게 보면 데이터 마이닝의 어두운 면이랄까....ㅋ



데이터 마이닝에 관해 들은 것은 많지만 직접 해보지는 않았다. 지금은 이전과 다르게 다양한 알고리즘들이 나와 있을 것이고, 하나하나 공부해 가면 정말 무궁무진한 학문임은 틀림없다.


빅데이터, IoT, 4차 산업 혁명. 이러한 산업의 변화가 어떠한 결과를 야기시킬지 정말 궁금하고 기대된다.









+ Recent posts