머신러닝이란?
- 결정 = 비교 + 선택
- 비교가 쉽지 않을 때 결정을 내리기 어려움
- 비교를 기계에게 학습시켜 결정하기 쉽게 도와주는 것
궁리하는 습관
- 손톱을 깨무는 습관을 고치고 싶을 때, 손톱을 꺠무는 사진과 깨물지 않는 사진을 학습시켜 알려주는건 어떨까?
Teachable Machine
teachablemachine.withgoogle.com
참고해볼만한 사이트
- 이미지 학습으로 체험해 보기
- 손톱을 깨무는 사진과 아닌 사진을 학습시키고 기계가 사진을 파악할 수 있음
- 모델의 다운로드로 가능
Model
- 판단력이 없는 아이들은 모든 것을 먹어보고 겪어봐야 먹을 수 있는 것인지 아닌지를 구분하는 판단력을 갖춤
- 이 판단력. 즉 모델을 통해 새로운 무언가를 먹을 수 있는 것인지 아닌지를 판단할 수 있게 됨
- 머신 러닝은 이러한 판단력(모델)을 기계에게 부여
- 모델을 만드는 과정 => 학습
- 모델이 좋아야 더 좋은 추측이 가능
- 추측이 정확해야 더 좋은 결정이 가능
머신러닝 머신
- ml-app.yah.ac: 티처블 머신에서 다운로드한 모델을 세부적으로 테스트하고 학습할 수 있는 사이트
애플리케이션과 프로그램
- 애플리케이션과 프로그램은 같은 것을 가르키는 다른 표현
- 애플리케이션: 응용
- 머신러닝 애플리케이션 = 머신러닝을 응용하여 만든 소프트웨어
- 프로그램: 시간의 흐름에 따라 순서대로 일어나는 것
- 수백만개의 순서대로 일어나야 하는 일을 하는 것은 고된 일임.
=> 이러한 것을 프로그래밍. 하는 사람을 프로그래머
직업의 시작
- 머신 러닝으로 무엇인가 하기 위해 '데이터'가 필요
- 데이터 산업은 데이터 과학과 데이터 공학으로 구분
- 데이터 과학: 데이터를 만들고 만들어진 데이터를 이용
- 데이터 공학: 데이터를 만드는 도구를 만들고 관리
표
- 데이터 산업에서 표는 굉장히 중요
- 행(row), 열(column) 구조
- 표는 데이터들의 모임 => 데이터셋
- 행은 개체, 관측치, 기록, 사례, 경우로 불림
- 열은 특성, 속성, 변수, 필드라고 불림
독립변수와 종속변수
- 독립변수는 원인이다.
- 종속변수는 결과다.
- 독립변수와 종속변수의 관계를 인과관계라고 한다.
레모네이드 카페의 예시
머신러닝의 분류
- 머신러닝은 다양한 학습으로 분류 가능
- 가장 대표적인 분류
지도 학습
- 기계 가르친다는 의미
- 문제집을 푸는 것과 비슷하며 문제와 정답을 비교하고 맞추다 보면 비슷한 문제를 만나도 오답일 확률이 적어짐
- 데이터로 머신러닝 시스템을 가르쳐서 모델을 만드는 것
비지도 학습
- 기계에게 데이터에 대한 통찰력을 부여하는 개념
- 누가 정답을 가려쳐 주지 않아도 데이터에 대한 의미나 관계를 파악하는 학습
강화 학습
- 학습을 통해서 능력을 향상시킨다는 점에서 지도 학습과 비슷함
- 하지만 지도 학습이 정답을 알려주면서 학습시키는 반면, 강화 학습은 경험을 통해 어떻게 하는 것이 더 좋은 결과를 낼 수 있는지 학습해 감
지도 학습
- 지도 학습은 역사와 비슷
- 과거에 있던 사건이 원인과 결과로 나타남
- 원인은 알면 결과를 예측 가능
- 지도 학습은 과거의 데이터를 학습해서 결과를 예측하는 데 사용
- 레모네이드의 예시를 다시 보면, 원인과 결과에 대한 과거 데이터를 바탕으로 미지의 데이터를 예측을 할 수 있음
- 지도 학습을 위해서는 과거의 데이터가 필요하며 이를 독립변수와 종속변수로 분리
- 독립변수와 종속변수의 관계를 머신러닝 시스템에 학습시키면 그 관계를 설명할 수 있는 모델(공식)을 만들어 냄
- 아직 결과를 모르는 원인을 모델에 입력하면 모델이 결과를 계산(예측)해서 알려줌
회귀(regression)
- 지도 학습은 크게 회귀와 분류로 나눔
- 예측하고 싶은 종속변수가 '숫자'일 때 주로 회귀를 사용
분류 (classification)
-
어지럽혀져 있는 대상이 있을 때, 성격에 맞는 이름으로 분류해서 그루핑하는 것
-
이전 손톱 예시와 같이 손톱을 물어 뜯고 있는 사진인지 아닌지로 분류하는 작업이 지도 학습인 이유는 아래와 같음
- 과거에 만든 데이터를 통해서 배우기 때문
- 데이터가 독립변수(사진)와 종속변수(이름)로 이루어져 있기 때문
-
추측하고자 하는 결과가 이름 또는 '문자'일 때 분류를 사용
분류의 사례
- 가지고 있는 데이터의 독립변수와 종속변수가 있고 종속변수가 숫자일 때 => 회귀(regression)
- 가지고 있는 데이터의 독립변수와 종속변수가 있고 종속변수가 이름일 때 => 분류(classification)