첫 번째 강사님과의 재회
기다리던 월요일이 되고, 일주일 동안은 에이블스쿨 첫 파이썬 과정을 진행해주셨던 강사님께서 머신러닝 강의를 진행해주시기로 했다.
강사님은 어떤 것을 새로 배우게 된다면 꼭 강사님 설명으로 듣고 싶은 욕구가 생길만큼 어렵고 새로운 내용에 대한 강의력이 정말 좋으시다. 적지 않게 던지시는 농담도 사실 취향 저격이어서... 강사님 강의는 듣다보면 하루가 금방 날아가버린다.
주의할 점은, 강사님 강의의 특징 중에 무시무시한 점이 바로 5초만 딴 생각을 해도 맥락을 놓쳐버린다는 점이다. 마치 스릴 넘치게 재미있는 급류타기를 하고 있는데, 물살에서 약간만 힘을 주어 비켜나가면 휘리릭하고 같이 급류를 타던 일행들과는 멀어져서 계곡 저 너머로 떠밀려가버리는... 그런 현상과도 같다.
그래서 꼭! 반드시 강사님 강의는 모든 말씀을 놓치지 않고 이해하리라! 하는 마음가짐으로 들어야 한다. 개인적으로는 그렇게 해야 복습도 굉장히 수월했기에.. 이번 머신러닝 교육주간에도 눈에 힘을 뽝!! 주고 강의를 열나게 들었다.
5일 간의 머신러닝 교육
남들이 보기에는 머신러닝을 5일만에...? 흠... 개념이나 제대로 배울 수 있을까, 싶을 수도 있겠지만...
머신러닝 강의를 대학원 때 타학과 강의로 수강해본 경험으로는 한 강의가 6개월치라면 두 강의 정도(즉 두 학기 정도..)를 몽땅 몰아서 일주일 동안 학생들을 데리고 머신러닝 캠프를 한 기분이었다.
나중에 스터디나 미니 프로젝트 때 에이블러 분들을 만나서 후기를 들어보니, 머신러닝 때 좌절하고 복습이 밀린 분들이 꽤 계신 것 같았다. 오전 9시부터 저녁 5시 넘게 듣는 강의인데, 하루 공부량이 만만치가 않을뿐더러 이게 합산 5일이라면 복습하는 데만도 오래 걸릴 것이다.
나또한 2일차 때까지는 복습을 정리하다가, 3일차부터는 주말에 따로 복습을 할 것을 각오하고 바로바로 강사님께서 전달해주시는 설명을 교육해주시는 시간 안에 이해하고 못 이해한 부분을 최대한 질문하자는 방향으로 전환했다.
왜냐하면 머신러닝 과정에서는 이론만 주구장창 배우기보다는 이론 설명을 마치면 곧바로 실습으로 들어가 코드를 작성해보는 시간이 바로바로 찾아왔기 때문이다.
따라서 어떤 것을 이해가 안된다고 해서 계속 붙잡고 늘어져 있을 시간이 거의 없었다. KNN 모델에 대해서 설명을 들었다면, 곧바로 KNN을 어떤 데이터에서 어떻게 활용할 수 있는지 강사님과 함께 작성해보고, 그 다음에는 다른 데이터를 가지고 KNN을 이용해서 예측 모델을 스스로 만들어보고, 또 다른 데이터를 가지고 예측 모델을 스스로 코드를 치며 만들어보고....
이 과정이 무수히 반복되었다. 개념을 다 이해했나..? 좀 애매한데... 싶다가도 코드를 작성하면서 설명해주시는 것을 들으면 앞선 개념설명에서 완벽히 이해하지 못했던 부분들을 이해하게 되고, 혼자 코드를 작성하면서 스스로 깨닫고 이해하는 부분도 있었기 때문에 모든 학습과 이해의 과정이 나 나름대로는 즉흥적으로 이루어졌던 것 같다.
마치 게임을 하는 것 같은 기분이 들기도 했다. 튜토리얼을 NPC와 함께 진행하다가, 게임 라운드를 나 혼자 끙끙대며 깨보기도 하고, 자꾸 비슷한 라운드를 깨다보니 익숙해져서 손놀림이 빨라지는 것과 비슷하다고 느꼈다.
그게 아니라면 자전거를 타는 방식과도 비슷하게 느껴졌다. 원래는 뒤에서 부모님이 밀어주시다가, 약간의 보조가 필요하다가, 언젠가는 완전 손을 놓고 내가 자유롭게 방향을 조절해가며 자전거를 타고 있게 되는, 바로 그런 흐름이었다.
그래서 이전 교육과정들과는 다르게 즉각적으로 이해하고, 즉각적으로 적용하고, 즉각적으로 궁금했던 부분들을 질문하면서 궁금증을 해소하고.. 이런 과정으로 이루어졌던 것 같다.
그러고 나니, 5일차 때 되어서는 코드를 안 보고도 작성할 수 있는 수준까지 도달할 수 있었다.
생각해보면 강사님께서 이런 방식으로 진행하시지 않았다면 개념 이해만 한세월이요.. 실습만 한세월이요.. 했을 것 같은데, 실습과 이론이 바로바로 연결되어서 진행되니 반복적으로 뇌가 학습한 것을 자연스럽게 받아들이는 듯 싶었다.
이전에 날씨 및 환경 데이터를 활용하여 머신러닝 예측 모델을 만들고 학술제에서 최우수상 수상을 했던 경험이 있는데, 그때 마구잡이로 했던 작업들에 대한 이해를 지금에 와서는 할 수 있어서 그 부분이 너무 좋았던 것 같다.
수상을 했어도 무언가 비어있고, 자신이 없었던 부분이 채워져서.. 다시금 그 프로젝트를 정리해서 내가 튜닝을 더 해보아도 좋겠다라는 생각을 해봤다. 이제는 기존에 했던 그 프로젝트를 훨씬 더 깊은 이해도를 가지고 접근할 수 있어서 배우는 동안 그게 좀 신이 났던 것 같다.
(이제 나혼자서도 할 수 있다구~~~)
두 번째 강사님과의 재회
추가적으로 이루어진 2일 간의 머신러닝 비지도 과정은 또 다른 강사님께서 진행해주셨다. 강사님께서 전에 데이터 분석 과정에서 'DX트랙에서는 저를 제일 많이 만나게 될 거예요~'라고 웃으시면서 말씀하신 적이 있는데, 2차 미니프로젝트 이후 또 다시 뵈니 그 말이 실감이 났다.
강사님은 기존 5기 기수를 거친 지인이 강의력을 극찬하던 터라 워낙에 강의력이 좋으신 것으로 많이 전해들었는데, 직접 경험해보니 그 말에 공감할 수밖에 없는 것 같다. 내가 그래도 좀 알고 있는 내용이라고 생각했었는데 강사님 설명을 들으면 '와.. 내가 정말 눈감고 코끼리 배를 만지면서 코끼리를 전부 안다고 했구나' 하는 생각이 들어 부끄러워질 때가 많다.
게다가 알고 있던 내용들을 다시 한번 생각하게 해주시면서 설명을 기가막히게 이해가 잘 되게 해주셔서 들을 때마다 감탄할 때가 자주 있다. 특히 현업 관련해서 어떤 방식으로 배운 것들을 적용해서 실무에서 하는지 자주 말씀해주시는데, 관련해서 예시를 들어주시는 부분은 개인적으로 이해가 깊어지는 데 도움을 정말 많이 받았던 것 같다.
2일 간의 비지도학습 교육
머신러닝에는 지도학습이 있고, 비지도학습이 있다. 지도학습은 정답이 이런 건데, 이걸 맞춰줘! 하는 거라면 비지도학습은 너가 한번 다 알아서 해볼래? 내가 지도하지 않을거고, 답도 없어. 너가 알아서 해. 이런 느낌이다.
잘했는지 못했는지 그래서 약간은 지도학습보다 헷갈린다. 그래서 어쩌면 지도학습보다는 조금 더 난해하게 느껴졌던 것 같다.
2일간의 짧은 교육기간이었기 때문에 비지도학습에서는 세 가지 알고리즘, 즉 차원축소, 클러스터링, 이상탐지를 배우기로 했다. 강사님께서는 각각에 대한 메인 알고리즘을 가르쳐주셨고, 별도로 각각 더 배워볼만한 알고리즘도 추가로 알려주셨다.
각각을 쓸 줄 알고, 이게 뭐 하는건지만 익히면 된다고 하셔서, 나도 배울 때 최대한 이런 초점으로 학습하려고 노력했다.
먼저 차원 축소의 경우, 필요성을 이야기해보면 이렇다.
모델을 생성하려고 하는데, 막상 수집한 데이터에 너무 많은 변수들이 있을 때 그게 꼭 좋을 수만은 없다. 과적합 될 가능성도 있고, 데이터도 굉장히 희박해지고, 모델 성능도 저하시키게 된다.
이를 어떻게 해결할까? 가장 보편적으로는 행이 더 늘어나야 한다고 말한다. 데이터의 건수를 늘리는 것, 데이터를 좀 더 많이 수집할 수 있다. 그러나 현실적으로 그러기는 어려운 일이다. 따라서 차원 축소라는 방법을 사용한다. 차원 축소는 기존의 전체 데이터가 가진 특성을 최대한 유지하면서 차원을 줄이는 방식이다.
다음으로 군집분석의 경우, 예전에는 판매량 기준으로.. 등등 나름대로 묶어서 자체적으로 분석해왔었다. 그러나 지금은 알고리즘도 많이 발전해서 가지고 있는 데이터를 기반으로 알고리즘에게 '너가 집단으로 묶어봐' 라고 해보고, 우리는 알고리즘이 묶은 결과를 보고 각 집단들이 어떤 특징들이 있는지 도출하고 마케팅 전략을 수립해볼 수 있게 되었다.
마지막으로 이상탐지는 일반적인 값과는 다른 특이한 값이나 드문 사건들을 탐지하는 기법이다. 다 왼쪽 방향을 보고 있는데 혼자 반대 방향을 보는 것이나, 다 파란색인데 빨간색인 것, 이런 것들을 어떻게 찾을 것이냐 하는 것이다. 이는 주로 기계 고장을 예측한다거나, 고객 이탈을 예측한다거나, 이런 부분과 연결되는데, 이때 정상 데이터는 무지하게 많고, 비정상 데이터는 너무 부족하기 때문에 '정상인 범위를 어디까지로 할래' 를 정해서 예측을 하게 된다.
7-8주차의 후기
기다렸던 머신러닝 과정은 정말 순식간에 지나가버렸다. 복습하며 블로그에 글을 적는 일정이 약간은 벌써 밀려버려서 걱정이지만, 그보다는 하루하루 내가 활용할 수 있는 알고리즘을 손에 익히는 것이 더 중요하기에 최대한 놓치지 않고 익히려고 애썼던 것 같다.
복습을 하고 나면 이전에 했던 예측모델 프로젝트를 다시금 뜯어보면서 새롭게 튜닝 과정을 거쳐보고 싶은 욕심이 크다. 이후 미니프로젝트를 하며 새로운 데이터를 가지고 배웠던 것들을 다시 손에 완전히 익히는 과정도 기대가 된다. 미니프로젝트가 5일간이라 조금 부담은 되지만, 만약 이렇게 많이 학습한 것들을 실습할 기회를 단 2일만 가졌다 한다면 그것도 또 나름대로 아쉬웠을 것도 같다.
(미니 프로젝트가 금방 이틀만에 지나갔다면... 내 학습기억도 금방 휘발되어버렸을거야...)
자꾸 하고 좀 쉬었다 또 하고 해야 좀 오래 지나도 잊혀지지 않기 때문에 머신러닝 과정은 좀 오래오래 여운을 두고 복습도 진하게 해야할 것만 같다. 블로그 글로 복습을 마치고 나서도 계속 글을 주기적으로 보면서 기억을 잃지 않도록 되살려놓는 것도 필요할 것 같다.
(즉.. 블로그 글 복습정리는 필수란 말이다.... )
아마 딥러닝 과정으로 넘어가면 또 딥러닝을 복습하느라 정신이 없을 것 같아서, 딥러닝 과정이 시작되기 전에 모든 복습을 마치리라 다짐 중이다. 틈이 나면 전에 배웠던 스트림릿을 적용해서 모델을 웹상에 띄워보고도 싶고... 시도해보고 싶은 게 너무나 많다.
자소서 경험도 정리해두어야 하고, 포트폴리오도 피드백받아서 다시 고쳐보고 싶은데.. 원망스럽게도 내 몸뚱이는 왜 하나인지..
한창 스트레스를 받던 차에, 피크민이라는 산책운동 어플을 시작했다. 딥러닝 과정 중에 지인의 추천을 받아 하게 되었는데, 매일 아침 30분, 저녁 40분 동안 걷고 있다.
(걸으면서 키우는 요 피크민이라는 아이.. 산책을 하면 졸랑졸랑 같이 따라다닌다.)
아침에 일어나서 꿈지럭대다 옷입고 나서서 30분 걷다 들어오면 8시 10분 정도가 되는데, 전과 달리 산책을 다녀오면 이 시간대에 전혀 졸리지가 않다. 게다가 오전 시간에 졸음이 쏟아지는 일도 거의 사라졌다. 저녁 산책은 자기 전에 다녀오면 불면증이 사라지는 효과가 있는 것 같다. 전에는 굳이 지금 해도 소용없는 걱정들을 생각하느라 밤잠을 설치곤 했는데, 자기 전 몸을 지치게 하니 곧바로 단잠에 빠지는 게 거의 요즘은 산책 중독 수준이 되었다.
한 2주째 된 것 같은데 꾸준히 하면서 체력도 길러지면 일석 이조일 것 같다. 다들 말을 들어보면 몸도 마음도 지쳐가는 듯한데, 이런 때일수록 몸을 건강하게 하면서 마음도 같이 단련하면 좋을 것 같다.
위 글은 KT AIVLE SCHOOL의 DX 컨설턴트 6기 "에이쁠 기자단" 활동에 포함되는 글입니다.
'AIBLE SCHOOL 6기_DX 컨설턴트 과정 > 본 학습' 카테고리의 다른 글
[KT 에이블스쿨 DX 6기] 3차 미니 프로젝트(feat. 비지도학습) (0) | 2024.10.29 |
---|---|
[KT 에이블스쿨 DX 6기] 3차 미니 프로젝트(feat. 머신러닝 3일간의 여정) (0) | 2024.10.25 |
[KT 에이블스쿨 DX 6기] 6주차 회고: 데이터 분석 표현 (1) | 2024.10.13 |
[KT 에이블스쿨 DX 6기] 2차 미니 프로젝트(feat. 2일차, 오프라인) (1) | 2024.10.08 |
[KT 에이블스쿨 DX 6기] 2차 미니 프로젝트(feat. 1일차, 온라인) (0) | 2024.10.07 |