홍콩과기대 김성훈 교수님의 강의를 들으며 배운 것을 정리한 글입니당!
저한텐 어려운 분야라 학습과 동시에 블로그를 작성하는 것과 혹시나 잘못 이해해서 엉뚱한 내용을 담게 될까봐 조금 두려운 감이 있습니당 ㅠ
하지만! 배움과 기록을 목적으로 작성하는 것이니 계속 쓰겠습니당! 잘못된 부분이 있다면 바로 피드백 주시면 감사드리겠습니당!
머신러닝
은 소프트웨어
의 일종입니당. 일반적으로 소프트웨어
는 개발자가 직접 어떤 조건을 갖추었을 때 결과를 내라!
라고 명령하는 방식으로 개발이 되어 있어용.
그런데 머신러닝
은 방식이 좀 달라용. 우선 머신러닝
창시자 님의 머신러닝
에 대한 정의가 있겠습니당.
"Field of study that gives computers the ability to learn without being explicitly programmed"
(명시적으로 프로그래밍하는게 아닌, 학습하는 능력을 컴퓨터에게 제공하는 분야)
- Arthur Samuel(1959)
즉 머신러닝
은 어떤 조건을 개발자가 명령해서 결과를 내는게 아니라, 컴퓨터가 스스로 학습해서 학습한 것을 기반으로 결과를 내는 프로그래밍 분야입니당!
이렇게 프로그래머가 직접 제한이랑 조건을 제공하는게 아니라, 문제와 답변을 줘서 컴퓨터가 이 정보를 기반으로 해서 학습해 결과를 도출하는 알고리즘을 머신러닝
이라고 합니다.
크게 두가지로 나뉩니당!
라벨링
이 된 데이터(ex. 50 -> 합격, 40 -> 불합격, 100 -> 합격, etc)를 기반으로 학습하는 것입니당. 이를 보통 Training Data Set
이라고 합니당.
데이터를 라벨링
할 수 없는 문제도 존재해용(ex. 구글 뉴스 그룹화, 비슷한 단어끼리 모으기). 이땐 개발자가 라벨링
하는게 아니라 소스만 제공하고 그 다음에 목적에 맞게 컴퓨터가 학습하는 걸 Unsupervised
라고 해용.
이미지, 영상, 텍스트 등의 데이터에 사람이 데이터 가공 도구를 활용하여 인공지능이 학습할 수 있도록 다양한 정보를 목적에 맞게 입력하는 것을 의미
Supervised Learning
은 방식을 크게 두 가지로 나뉠 수 있어용.
컴퓨터를 학습을 시키고 예측하고 싶은 결과가 수치인 경우 Regression
방식이라고 합니다. 월 물건의 판매량을 보고 다음달 판매량을 예측한다고 하면 이를 Regression
이라고 합니당.
그리고 예측하고 싶은 결과가 한정적이면 이를 Classification
이라고 하는데, 여기서 결과가 그렇다/아니다
(ex. 시험의 합격/불합격)면 결과가 두 개이므로 Binary Classification
이라고 하고 다수
(ex. 성적의 A, B, C, D,...)일 경우 Multi-label Classification
이라고 합니당.
이 글을 작성했을 즈음엔 대중교통 이용하면서 9장정도까지 시청을 했었구 7장까지 실습을 했었습니당.
나름 여러번 봐서 이해는 갔지만, 막상 생각나는걸 그대로 말하라고 한다면 제대로 설명하지 못하는 제가 보였었습니다 ㅠ
이번에 블로그를 작성하는 것을 계기로, 이해를 넘어 사람들한테도 이야기할 수 있게 되었으면 좋겠습니당 후후