머신러닝

[머신러닝 입문]처음 배우는 머신러닝 입문자를 위한 정보

Mi-Flat 2020. 3. 22. 21:07
반응형

안녕하세요

 

이세돌 9단과 알파고와의 바둑 대결을 통해 인공지능(AI), 딥러닝, 머신러닝 등 다양한 미래 기술 키워드에 대한 관심이 크게 증가했습니다. 

그래서 요즘에는 인공지능 전문가를 희망하는 학생도 증가하고 있다고 하는데요, 막상 대학교나 대학원에서는 아직 인공지능 강의가 온전히 준비되지 않은 경우가 많은 것이 현실이라고 합니다.

저 또한 인공지능, 딥러닝, 머신러닝에 관심이 많아 이곳저곳 자료를 찾아보지만 흩어져있는 자료를 수집하는 것이 결코 만만치는 않습니다.

그래서 관련 정보를 찾아 공부하고 이해하고, 쉽게 이해할 수 있도록 정리하여 전달드리려고 합니다. 빠르게 변화하는 세상을 따라가기 위해 노력하겠습니다.

 

오늘은 첫 번째로 머신러닝에 대한 개념과 선행 지식 수준에 대해 알아보겠습니다.

머신러닝은 기계학습이라 불리우며, 1959년 아서사무엘은 "컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야"라고 정의하였습니다. 사람이 정해 놓은 알고리즘을 통해 결과값을 도출하는 것이 아닌 기계 스스로 학습하여 능력을 발휘한다는 것입니다. 

머신러닝은 1950년대부터 연구를 지속적으로 해왔지만, 최근 들어서 많은 주목을 받고 크게 발전하게 되었습니다. 그 이유는 컴퓨터의 발전과 데이터 가공 기술의 발전이 있었기 때문에 가능하였습니다.

머신러닝이 어느 학문 분야인지 살펴보면, 기본적으로 머신러닝 즉 기계학습을 하기 위해서는 많은 양의 '데이터'가 필요합니다. 그리고 이러한 데이터를 분석하고 일정한 패턴을 분석 및 의미있는 결과로 도출하는 통계학의 한 분야로 볼 수 있습니다. 또한 그 과정에 사용되는 도구로 컴퓨터가 사용되기 때문에 전산학 분야에도 포함될 것입니다.

그렇기 때문에 통계학을 이해하기 위한 수학적 배경 지식과 프로그래밍에 대한 지식이 겸비되어야 인공지능의 한 분야인 머신러닝을 이해할 수 있는 것입니다. 

 

수학적 지식으로는 기본적인 행렬 연산 개념만 알면 머신러닝을 간단히 이해는 할 수 있지만, 깊은 내용 이해를 위해서는 선형대수, 미적분학에 대한 내용을 알고 있어야 합니다. 

통계학적 지식은 전반적인 분포, 정상분포, 가우스분포, 상관관계, 회귀 등입니다. 그리고 확률 지식으로 정의와 조건부 확률에 대한 개념을 이해하고 있어야 합니다. 

프로그래밍 지식으로는 분산 처리 및 시스템 구축에 대한 기본 프로그래밍 지식이 필요합니다. 최근 많은 관심을 받고 있는 파이썬의 기본 문법, 함수 사용, 파일 사용법 정도 알고 있으면 이해할 수 있습니다.

 

두 번째로 머신러닝 발전사를 알아보겠습니다.

앞서 설명드린 것처럼 1950년대부터 인공지능의 기계학습 분야 연구는 지속적으로 이루어져 왔습니다. 그러나 초기에는 사람이 작성한 프로그램 내에서 일정한 알고리즘을 바탕으로 인공지능을 훈련하며 컴퓨터의 가능성에 대해 연구하였습니다. 1957년에 퍼셉트론이라는 신경망이 개발되었지만, 기초 이론의 부족으로 크게 발전하지는 못했습니다.

1990년대 들어 통계학과 전산학을 접목하여 데이터에 중점을 둔 연구 방식을 활용하였습니다. 이 시기에 머신러닝이라는 용어가 크게 확장되었습니다. 이후 빅데이터 시대에는 수많은 웹 상에 있는 데이터를 기반으로 분산 처리 기술과 접목하여 발전하게 됩니다. 신경망 기반 머신러닝에 빅데이터가 결합하여 한층 더 업그레이드 된 머신러닝 기술은 기존 신경망보다 깊이가 깊은 신경망인 '딥 러닝'으로 발전하게 됩니다. 

컴퓨터의 발전과 인터넷의 발전, 그리고 축적되는 데이터의 양에 따라 약 60년 사이에 인공지능 분야는 급속도로 발전하였습니다. 앞으로 인공지능 관련 기술인 머신러닝, 딥러닝은 또 다른 기술과 결합하여 지속적으로 발전해 나갈 것입니다.

 

다음 포스팅은 머신러닝의 관점 및 분류(기법)에 대해 알아보도록 하겠습니다.

 

감사합니다.

반응형