새로운 기술을 배운다는 것은 마치 책을 읽는 것과 같다
책의 작가의 말을 보고 어떤 책인지 알고, 목차를 보며 어떤 식으로 이야기가 전개될지 파악해보듯이,
새로운 기술도 그것의 정의와 종류가 뭔지, 어떻게 흘러가는지 등 대략적인 부분을 먼저 알아두어야 한다
이전 편에서는 AI가 무엇인지와 종류에 대해 알아보았다
이번 편에서는 우리가 AI 모델을 개발한다고 했을 때 큰 흐름은 어떻게 진행되는지 개략적으로 알아보도록 하자
우선 용어부터 알아보자
머신러닝을 공부하다보면 어떤것은 알고리즘이라고 하고, 어떤 것은 모델이라고 부른다
예시로 들면 선형회귀를 알고리즘 이라고 하기도, 모델이라고 하기도 한다. 과연 어떤 표현이 맞을까?
- 알고리즘
데이터를 어떻게 학습시켜 결과값을 도출할지 그 과정을 나타낸 것
- 모델
알고리즘으로 데이터를 학습시켜 나온 값을 예측할 수 있는 무언가
선형 회귀를 예시로 들어보자
선형 회귀란 feature와 target 사이에 선형적 관계가 있다고 가정하는 것이다
즉 수식으로 표현하자면 다음과 같이 표현할 수 있다
Y = a*X + b
이것은 X와 Y의 관계를 나타낸 것이므로, 이것은 선형 회귀 알고리즘이라고 할 수 있다
그리고 위의 알고리즘을 택하여 입력 데이터들을 가지고 최적화 등을 통해 결과값을 도출할 최종 무언가를 만들었다고 하자
학습 전엔 단순한 수식이었으나, 지금은 데이터들을 입력받아 결과값을 예측할 수 있는 하나의 결과물이 되었다. 이것을 바로 선형 회귀 모델이라고 한다
AI는 학습을 위해 매우 많은 양의 데이터가 필요로 하다
이러한 데이터를 수집하는 단계로, 크롤링 도구, 직접 방문, 설문조사 등으로 데이터를 수집하게 된다
하지만 그냥 무작정 데이터를 수집하다간 자칫 민감한 정보를 건드리는 등의 문제가 발생할 수 있다
때문에 여러부분에서 신중히 검토 후에 수집이 진행되어야 한다
- 보안에 위법되는 데이터들은 없는지(저작권, 민감한 정보 등)
- 트래픽 비용 검토
- 데이터량이 너무 크진 않은지 수집 기간과 수집량 검토
자세한 부분은 아래 링크에 잘 표시되어 있다. 궁금하면 참고하도록 하자
(출처: https://spidyweb.tistory.com/160)
수집한 데이터를 어떻게 저장해야 하는가를 고민하는 단계이다
단순 데이터베이스에 저장할 수도, 데이터가 복잡하고 많아지면 분산 데이터베이스에 저장하는 등 여러 방식을 취할 수 있다
분석 단계에 깔끔하고 모범적인 데이터를 보내주기 위해 데이터를 정리하는 단계이다
이상치 및 결측치가 있는지 확인하고 처리하기도 하고, 중복되거나 데이터가 한쪽이 많아 편향된 분포라면 고르게 만드는 작업도 한다
정리가 끝난 데이터를 가지고 여러 관점에서 바라보는 단계이다
시각화를 하여 새로운 인사이트를 얻기도 하고, 상관관계 분석을 하여 feature와 target 사이의 관계를 보기도 하는 등 최대한 여러 관점에서 본다
우리가 흔히 알고있는 AI가 바로 이 단계이다
분석이 끝난 예쁜(?) 모양의 데이터들을 가지고 어떤 학습 방법을 택할 것인지, 어떤 알고리즘을 사용할 것인지 등 데이터들을 가지고 실질적인 최적의 결과를 내기위해 노력하는 과정이다
알고리즘을 위한 통계, 미분 등 수학적 지식이 많이 필요시되는 단계이다
여기까지 AI 모델이 만들어지기 까지의 전과정에 대해 알아보았다
기존에는 단순히 모델 생성 부분만 알고 있었고 그 이전의 중요성은 깨닫지 못했는데,
데이터들이 학습에 수월하도록 깔끔하게 다듬는다는 것이 생각보다 매우 어렵고 까다롭다는 것을 강의를 듣고 정리하면서 알게되었다
다음 편에서는 전처리 단계는 어떻게 진행되는지 이에 대해 알아보려고 한다
강의
코드잇(https://www.codeit.kr)