반응형

머신러닝 (Machine Learning)

 강의에서 정의한 머신러닝의 개념은 명시적인 프로그래밍 없이 컴퓨터 스스로 학습하게 하는 분야이다.

 

머신러닝의 방식에는 여러가지가 있는데 수업에서는 알고리즘에 따라 다음과 같이 4가지를 설명하셨다.

종류 설명
지도학습
(Supervised Learning)
정답을 아는 데이터셋을 사용하여 모델 제작
비지도학습
(Un-Supervised Learning)
정답을 모르는 데이터셋을 사용하여 그룹화하여 모델 제작
준지도학습
(Semi-Supervised Learning)
정답을 아는 데이터셋과 모르는 데이터셋을 모두 사용하여 모델 제작

일반적으로 일부 데이터의 정답만 알고 대부분의 정답을 모를 때 선택
강화학습
(Reinforcement Learning)
정답을 모르는 데이터셋을 사용하여 모델 제작

벌점이 최소화되도록 학습

지도학습은 학습 과정에서 특정 기준에 따른 정답을 계속해서 알려준다. 이러한 학습을 통해 모델을 갖게 되며, 이 모델을 기준으로 새로운 입력이 들어왔을 때 정답을 맞추게 되는 방식이다.

 

비지도학습은 학습 과정에서 정답을 알려주지는 않지만, 컴퓨터가 스스로 추정하여 비슷한 데이터 끼리 그룹을 묶는방식이다. 이 때, 그룹에 속하지 못하고 떠도는 데이터를 특정하고 필요 시 삭제할 수도 있다.

 

준지도학습은 지도학습과 비지도학습을 섞은 형태다. 정답을 아는 데이터와 정답을 모르는 데이터 모두를 사용하여 모델을 학습시키는 방법이다. 이는 일부 데이터만 정답을 가지고 있고, 대부분의 데이터는 정답이 없는 경우에 사용된다.

 

강화학습은 비지도학습과 비슷하게 정답을 알지 못하는 상황에서 스스로 학습해나가는 방식이다. 다만 강화학습의 핵심은 '벌점'이다. 컴퓨터는 정답인지 아닌지는 모르겠지만 일단 벌점이 최소가 되는 방식으로 작동하도록 학습하게 된다.

 

딥러닝 (Deep Learning)

 

딥러닝과 머신러닝

딥러닝과 머신러닝, 이 두 개념은 우리가 인터넷과 같은 각종 매체를 통해서 '인공지능'에 관한 내용이 나올 때 자주 뒤따라오는 용어였다. 그리고 많은 경우에 두 용어가 묶여서 함께 사용되기

jschan0911.tistory.com

 강의에서 딥러닝에 대해서는 간단히 언급하셨다. 딥러닝은 히든 레이어가 여러 개인 신경망 모형이라고 한다. 딥러닝과 머신러닝에 관한 자세한 내용은 따로 공부해서 위 페이지에 정리해보았다.

딥러닝을 포함한 신경망 모형이 한동안 주목받지 못했다. 기술 발달로 인해 계산시간의 비약적 증가에도 불구하고 Over-Fitting 문제, Backpropagation 알고리즘 이 딥러닝 과정에서 작동하지 않는 이슈들 때문이었다.

 

여기서 말하는 Over-Fitting 문제란, 머신러닝에서 모델을 만들 때, 입력된 데이터에 과도하게 적합화되어서 새롭게 입력되는 데이터에 대해 일반화하지 못하는 문제를 말한다.

 

쉽게 말해 학습할 때 쓰인 데이터에 대해서는 정확도가 아주 높겠지만, 실질적으로 알고 싶은 또다른 데이터에 대해서는 정확도가 낮게 형성되는 문제다.

 

위와 같은 문제들을 딛고 현대에는 딥러닝이 다시 주목받게 되었다. 그 이유를 3가지 요소로 나누어 설명하면 다음과 같다.

요소 설명
빅데이터
데이터가 충분히 많아져 히든 레이어가 증가해도 오버 피팅이 잘 일어나지 않음
GPU 연산 GPU를 이용한 병렬연산을 통해 많은 계산을 빠른 속도로 처리할 수 있음
연구
많은 연구를 통해 과거, 신경망 모형이 가지고 있는 단점을 보완할 수 있는 많은 연구가 이루어짐

 

TensorFlow

 강의에서 TensorFlow에 대해서 역시 간단하게 언급하셨다. TensorFlow구글에서 공개한 머신러닝 라이브러리다. 그러나 구글이 보유한 Data는 공개하지 않았다.

 

이 라이브러리의 특징주로 행렬을 사용하여 계산하고 그래프로 표현한다는 점과, 계산들을 한참 정의하다가 한 번에 실행함으로 비록 Python을 사용하지만 C와 같은 속도로 연산되게 한다는 점, 마지막으로 연산할 때 GPU와 CPU를 선택할 수 있다는 점이다.


 

Small Data & Big Data

 빅데이터 개념의 시초는 다음과 같다. 우리가 생활에 사용하는 데이터의 크기가 커지다 보니 구글, 유튜브, 페이스북과 같은 회사에서 방대한 크기의 데이터를 처리하기 어려워졌다. 당시에는 그저 서버 컴퓨터에 저장장치인 디스크를 이어 붙이는 방식을 사용했기 때문에 용량이 부족할 때마다 이어 붙여야 해서 비용이 많이 발생했다. 이러한 문제를 분산 처리 Computing 방법론을 개발하여 해결한 것이 빅데이터 개념의 시초이다.

 

빅데이터 개념이 탄생할 당시에는 단순히 분산처리를 통해 막대한 양의 정보를 처리하여 부가가치를 창출하고자 했다. 하지만 시간이 지남에 따라 현대에는 빅데이터와 머신러닝의 조합에서 부가가치를 창출하는 쪽으로 발전했다.

 

 또한 현대에는 엑셀파일, 숫자 정보와 같은 정형 데이터만 사용하고 저장했던 기존 방식과 달리, 이미지, 영상파일과 같이 활용하기 까다롭다고 생각되는 비정형 데이터를 사용하고 저장한다. 당연하게도, 비정형 데이터를 그대로 분석하는 방식이 비정형 데이터를 정형화하여 분석하는 방식보다 더 정확하다.

 

Static Data & Event Log Data

종류 설명
Static Data 시간에 따라 바뀌지 않는 데이터
Event Log Data 시간에 따라 바뀌는 데이터

 데이터를 시간적 특성에 따라 나누면 위와 같이 Static DataEvent Log Data로 나눌 수 있다.

 

Static Data는 개체의 속성에 해당하는 데이터로 연령, 성별, 생일과 같이 시간에 따라 바뀌지 않는 데이터를 말한다. 

 

이와 달리 Event Log Data는 개체의 상태에 해당하는 데이터로 현재 위치, 조회수, 클릭 페이지와 같이 시간에 따라 바뀌는 데이터를 말한다.

반응형

+ Recent posts