데이터 사이언티스트에게 필요한 기술과 능력 (+데이터 마이닝, 머신러닝, 딥러닝 개념)
본문 바로가기
BIG DATA

데이터 사이언티스트에게 필요한 기술과 능력 (+데이터 마이닝, 머신러닝, 딥러닝 개념)

by 보고톡톡 2022. 6. 4.
반응형

데이터 사이언티스트(data scientist)는 우리나라에서 다소 생소한 직업 혹은 job이라고 할 수 있다. 하지만 미국의 경우, 구글, 아마존, 메타(구 페이스북), 마이크로소프트(MS) 등과 같은 글로벌 IT 기업들을 중심으로 이 데이터 사이언티스트를 말 그대로 전문가로 처우하는 양상이다. IT 강국이라고 할 수 있는 대한민국도 바쁘게 흘러가는 4차 산업혁명의 조류 속에 이 데이터 사이언티스트가 갖는 위상이나 입지, 처우 등은 날로 높아질 예상이다.

데이터 사이언티스트라면 데이터 사이언스(Data Science) 영역의 전반을 아우를 수 있는 스펙을 갖춰야 한다. AI, 컴퓨터 사이언스, 통계학, 패턴인식, 머신러닝(기계학습), 빅데이터, 데이터 마이닝 등 데이터 사이언스의 영역으로 구분하는 이 다양한 분야들을 섭렵하고, 이 기술들을 아우른다는 것은 생각만 해도 보통 일이 아니다.

 

1. 데이터 사이언티스트에게 요구되는 능력


■ 데이터 사이언티스트는 '통계적 지식과 프로그래밍 능력, 머신러닝 기술 등을 사용해 대규모 데이터셋으로부터 데이터를 수집하고 분석해서 결과를 산출하고 미래를 예측하는 일을 하는 전문가'라고 이해해두자. 이는 우리말로 '데이터 과학자'라고 지칭할 수 있겠다.

데이터 사이언티스트에게 필요한 지식과 기술은 무엇일까?
· 컴퓨터 사이언스, 인공지능, 통계학 방법론 활용 능력
· 인터넷을 통한 데이터 수집 기술
· 대규모 데이터를 다룰 수 있는 프로그래밍 기술
같은 데이터 관련 계통의 Job이더라도 주로 요구되는 프로그래밍 언어가 다를 수 있다. 가령 ML 디자이너라면 파이썬(Python), 자바(Java), C++을 주로 사용하겠지만, 데이터 사이언티스트라면 SQL, 파이썬, R을 주로 사용하게 될 것이다.
· 데이터 분석 기술 (데이터 마이닝, 통계처리 등)
· 머신러닝 관련 지식과 기술
· 데이터 분석결과에 대한 시각화(Visualization) 기술

데이터 사이언티스트에게 요구되는 지식과 기술은 이와 같이 통계적 지식과 프로그래밍 기술, 머신러닝 등을 포괄하는 방대한 범위를 보인다. 4차 산업혁명의 시대를 살아갈 우리들에게 새로운 자원은 데이터이다. 바로 이 DATA의 처리와 분석, 결과 도출까지 전 과정을 지휘할 전문가가 데이터 사이언티스트인 셈이다.

아직 이 직무 혹은 직업의 가치에 대해 체감하지 못하는 이들도 있겠지만, 데이터 분석을 위한 조직 성숙도 수준을 평가하는 도구로 활용되는 CMMI(Capability Maturity Model Integration, 능력 성숙도 통합 모델)에 정의된 가장 진화된 조직 수준에는 데이터 사이언티스트나 빅데이터 분석기술 보유자 혹은 전담 조직의 보유 여부가 키값이 된다.

 

2. 데이터 사이언티스트가 알아야 할 주요 기술/학문 분야


AI, 통계학, 패턴인식, 머신러닝(기계학습), 빅데이터, 데이터 마이닝, 신경망(Neural Networks) 등 데이터 사이언티스트에게 요구되는 다양한 분야에 대한 개념적인 이해로 넘어가 보자.

많이 듣는 용어들인데, 인공지능(AI, Artificial Intelligence), 머신러닝(Machine Learning)과 딥러닝(Deep Learning), 데이터 마이닝(Data Mining) 등에 대해 비전문가 입장에선 "다 그게 그것 아닌가"와 같은 의구심을 갖게 된다. 많이 듣긴 했는데, 정확히 딱히 뭐라고 설명하기가 어려울 것이다.

추후 세부적인 학습도 소개하겠지만 이에 앞서 우선 각각의 개념부터 머릿속에 그려두는 게 좋겠다.

일단 위에 언급한 기술이나 학문들은 모두 연계성을 가진다.

 

데이터 사이언스의 방대한 영역 타 분야와의 연계성


■ 데이터 마이닝(Data Mining)은 대규모 데이터로부터 자동적인 통계적 규칙과 패턴을 찾는 기법이다.
'마이닝(Mining)'이라는 단어에서 알 수 있듯 데이터 속에서 정보(지식)를 채굴하는 기법이라고 요약할 수 있다. 데이터 마이닝은 분류(classification), 군집화(clustering), 연관성(association), 연속성(sequencing), 예측(forecasting)으로 이어지는 다양한 분석 기법을 통해 데이터로부터 사용자가 필요로 하는 정보를 자동으로 추출하는 프로세스를 의미한다.

가령 가장 기초적인 클러스터링 방법으로 k-means Clustering(주어진 데이터를 k개의 군집으로 묶는 자율학습)이라는 알고리즘이 잘 알려져 있고, 비구조화된 데이터인 텍스트 데이터를 분석하기 위한 데이터 마이닝 기법으로는 텍스트 마이닝(text Mining) 기법이 있다.

데이터 마이닝의 방법 예시로 제시한 알고리즘은 그냥 용어로만 보고 지나쳐가도 좋다. "여기선 일단 개념 파악만 한다." 이는 이어질 내용에서도 마찬가지다.

머신러닝(Machine Learning)은 데이터 분석을 통해 의사결정과 판단에 필요한 예측 모형을 개발하는 인공지능 기술의 하나이다.
즉 머신러닝이나 딥러닝 등은 인공지능 기술의 일종이라고 이해하면 된다. 잘못된 개념 이해로 흔히 '딥러닝은 머신러닝의 하위 기능 혹은 레벨이다'라고 보는 이들이 있다.

딥러닝이 머신러닝의 한 분야인 것은 맞지만 머신러닝보다 훨씬 큰 규모의 데이터를 학습할 수 있는 자율성 높은 알고리즘을 갖고 있다는 측면에서 보면 머신러닝보다 하위 레벨의 기술이라고 볼 수는 없겠다.

일단, 다시 돌아와서 머신러닝을 정의하면, 이 기술은 컴퓨터 프로그램이 어떤 대상에 대한 학습을 통해 기존의 모델이나 결과물을 개선 혹은 예측하도록 구축하는 과정이다. 머신러닝을 통한 컴퓨터 프로그램의 학습 방법은 크게 '지도 학습(Supervized learning)'과 '비지도 학습(Unsupervised learning), 강화 학습(Reinforcement Learning)으로 분류한다.

머신러닝의 학습 방법 분류

각 학습방법의 대표적인 기법으로, 지도 학습은 분류(classification)와 회귀(regression)를, 비지도 학습은 군집화(clustering)를 예로 들 수 있다.

· 지도 학습 유형별 주요 알고리즘
1) 분류 : Naive Bayes(나이브 베이즈), Support Vector Machine(서포트 벡터 머신), k-Nearest Neighbor(k-최근접 이웃), 신경망(Neural Network)
2) 회귀 : Logistic Regression(로지스틱 회귀), Decision Trees(의사결정 트리), Linear Regression, GLM, SVR, GPR

머신러닝의 학습방법에는 지도 학습과 비지도 학습 외에도 강화 학습, 준지도 학습(Semi-supervised Learning)이 있는데, 강화 학습의 주요한 예로 여러분이 익히 알고 있을 구글의 알파고가 있다. 기타 상기 이미지 참조.

지도 학습과 비지도 학습의 구분은 목적 변수의 존재 여부에 따른다. 지도 학습은 입력과 이에 대응하는 출력을 연결시키는 관계를 학습하는 방법이며, 비지도 학습은 출력 또는 출력 값 없이 주어진 입력만으로 스스로 모델을 구축하도록 학습하는 방법이다.
쉽게 말해 지도 학습은 정답을 알려주며 학습시키는 것이고, 비지도 학습은 정답을 알려주지 않고 비슷한 데이터를 군집화시켜 스스로 규칙성 등을 찾아내도록 학습시키는 것이다.

■ 머신러닝과 데이터 마이닝, 통계학은 깊은 연계성을 가진다.
통계학은 데이터를 정보로 변환하기 위한 체계적인 방법을 제공하는 이론적 토대이다. 그래서 머신러닝과 데이터 마이닝과 떼어놓고 생각할 수 없다. 특히 머신러닝은 통계학에 기반을 둔 통계적 학습에 근간을 두고 있다. 또한 데이터로부터 어떤 유용한 규칙, 판단 기준 등을 추출한다는 점에서 데이터 마이닝과 머신러닝은 공통점을 갖고 있다고 할 수 있다.

■ 딥러닝(Deep Learning)은 머신러닝과 신경망의 한 분야이다.
여기서 신경망(Neural Networks)은 우리 두뇌의 뉴런의 작동을 모방해서 여러 뉴런으로부터 들어온 입력을 일정 함수를 거쳐 출력 노드를 통해 결과를 얻는 네트워크를 말한다.

 

다층 퍼셉트론(MLP) 모델

 

신경망의 연구 모델 중 다층 퍼셉트론(MLP, Multi-Layer Perceptron)에 대해서는 기억해둘 필요가 있다. 다층 퍼셉트론에서는 효율적인 학습을 위해 역전파(Back-propagation) 알고리즘을 활용한다. 역전파 알고리즘은 입력층에서 은닉층을 거쳐 출력증으로 갔다가, 다시 반대로 되돌아오면서 학습하는 것을 말한다.

단, 다층 퍼셉트론 모델은 계산의 복잡성, 학습 시간이 오래 걸리는 문제점으로 인해 이후 2006년 Hinton 교수에 의해 딥러닝 학습 방법이 제안되면서 최근 심층 신경망(딥러닝 알고리즘)에 대한 연구로 이어지고 있다.

딥러닝은 여러 개의 은닉층을 가진 심층 신경망(DNN, Deep Neural Network)을 기반으로 학습하는 방법이다. 기존 다층 퍼셉트론 모델과 비교할 때 은닉층의 수가 크게 확장되었고 프로세서의 속도도 빨라져, 대규모 데이터를 학습할 수 있는 모델이다. 다층 퍼셉트론과 심층 신경망을 간략히 비교하면 다음과 같다.

· 다층 퍼셉트론과 심층 신경망 비교

  다층 퍼셉트론 심층 신경망
은닉층 수 ·1~2개 ·1~1,000개
알고리즘 ·역전파 ·딥러닝
수행 시간 ·오래 걸림 ·(은닉층 수가 많아서)더 오래 걸림
프로세서 속도 ·상대적으로 느림 ·보다 빨라짐


딥러닝은 머신러닝 기법과 비교할 때 통상 은닉층의 개수가 많아 학습에 소요되는 시간이 오래 걸리는 단점이 있는데, 데이터 세트가 많을 경우 좋은 결과를 얻을 수 있는 장점도 갖고 있다고 평가받는다. 머신러닝과 딥러닝을 다음과 같이 비교해서 기억해두는 것도 좋겠다.

· 딥러닝과 머신러닝 비교

  딥러닝 머신러닝
학습 데이터 크기 ·데이터 세트가 클 때 좋은 결과 ·데이터 세트가 작아도 좋은 결과
특징 추출 ·자동적 처리 가능 ·최상의 결과 도출 위해 다양한 분류법 시도
처리 시간 ·상대적으로 오래 걸림 ·몇 분~몇 시간
알고리즘 ·최근 많은 연구,개발 중 ·다양함


딥러닝은 주로 데이터 처리의 양적 측면에서 머신러닝이나 신경망과 차이가 있다. 딥러닝은 머신러닝이나 신경망보다 훨씬 큰 규모의 데이터를 학습할 수 있으며, 이로 인해 대규모 데이터를 다루는 영상, 음성 인식 등 분야에서 그 성능이 두드러진다고 볼 수 있다.

딥러닝을 사용하는 심층 신경망에는 합성곱 신경망(CNN, Convolution Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 생성적 적대 신경망(GAN, Generative Adversarial Network), 제한 볼쯔만 머신(RBM, Restricted Bolzmann Machine), 심층 신뢰 신경망(DBN, Deep Belief Network) 등이 있으며, 현재도 계속해서 새로운 딥러닝 모델들이 연구 및 개발되고 있다.


데이터 사이언티스트에게 필요한 기술과 자격
데이터 사이언티스트가 되기 위해 필요한 기술과 자격


여기까지 데이터 사이언티스트에게 요구되는 지식과 기술, 학문 분야에 대해 간략히 소개했다. 깊이 들어가자면 끝도 없을 것이고 설명할 능력도 안되지만, 개념적으로는 이 정도 이해해두면 되지 않을까 생각한다. 더 많이 알고 싶다면 어떻게 해야 할까? 컴퓨터에게도 우리에게도 Learning 외에 다른 방법은 없다. <끝>

반응형

댓글