'AI'는 1950년 존메커시가 시작했다.
이 때는 인공지능에 대해 기대치가 낮아 자동화만 하면 인공지능이라고 불리던 시절이였다.
1980년 컴퓨터 사양이 좋아지면서 새로운 시도가 나타났다.
그 새로운 시도가 '기계학습'이다.
기계에 데이터를 주면 수학으로 데이터를 분석하는 것을 '기계학습'이라고 하며 문제를 해결하기 위한 수학을 '알고리즘'이라고 한다.
이때까지만해도 수학이 필요했으며 사람이 자원이 많이 사용됐다.
2010년쯤부터 데이터가 너무 많아지고 AI에 대한 기대치도 높아졌으며 수학으로도 풀기 어려운 문제가 생겼다.
그래서 수학이 아닌 사람의 뇌 구조를 형상화 시켜 스스로 학습하게 하는 '딥러닝'이 생겼다.
이때부터는 사람보다 컴퓨터 자원이 더 많이 사용되게 되었다.
'머신러닝'의 핵심은 사람이 아니라 기계가 학습한다는 것이다.
y = f(x) 이것을 머신러닝이라고 할 수 있다.
x(데이터)를 넣으면 함수로 처리해서 y(결과)가 나온다.
기존의 컴퓨터 사이언스는 사람이 찾아서 기계한테 알려줬었다.
'머신러닝'은 수학적 처리는 머신에게 맡기는 것이다.
기계에게 데이터를 많이 주고 컴퓨터가 문제를 해결하는 방법을 찾는다.
머신러닝은 크게 세 가지로 분류된다.
Supervised Learning(지도학습), Unsupervised Learning(비지도 학습), Reinforcement Learning(강화 학습)
지도 학습은 다시 Regression(분류), Classification로 구분된다.
개사진, 고양이 사진을 계속 입력하여 (feature 피쳐)
이것은 개다, 고양이다라는 결과를 입력한다. (label 라벨)
학습한 컴퓨터에게 새로운 사진을 보여주면 이건 98프로 개다! 같은 결과를 낸다.
우리가 기출문제를 풀어서 비슷한 문제가 나와도 풀 수 있듯이 Classification의 알고리즘도 이와 비슷하다. 기출문제는 feature, 정답은 label이라 볼 수 있다.
실생활에 사용될 수 있는 예시 :
특별한 사용자의 특징을 학습해 새로운 사용자 중에서 해당 특징을 가진 사용자를 특정해내서 서비스나 제품을 추천한다.
회귀라는 말은 통계학에서도 많이 쓰는 단어이다.
키에 따른 신발 사이즈
시간에 따른 커피 소비량
햇빛 노출 시간과 주근깨 개수
달 위상에 따른 주요 도시의 범죄 수
기온과 인터넷 쇼핑 장바구니 물품 수
위와 같은 지수들을 Regression으로 분석할 수 있다.
1 일반적인 데이터를 수집하고
2 기존 데이터 중 평균이 될 만한 데이터를 그래프에 기록하면
3 곡선이 생긴다. 이를 회귀 곡선이라고 부른다.
실생활에 사용될 수 있는 예시 :
나이키 매장 입구에 초음파센서로 고객의 키를 분석해서 맞는 사이즈 추천한다.
이를 Classification으로 한다면 얼굴을 분석해서 나이대분석하고 그 나이대 인기템을 추천한다.
가장 인기 많은 알고리즘이며 현존하는 대부분의 문제는 이걸로 해결 가능하다.
문제만 제공하면 컴퓨터가 문제 안에서 패턴이나 구조를 발견한다.
실생활에 사용될 수 있는 예시 :
카드사에서 많이 쓰임 금융사고를 막는 용도
고객의 평균 거래량보다 갑자기 큰 금액이 결제된 경우
돈 인출할 때도 사용 됨 갑자기 큰 금액이 인출된 경우를 잡아낸다.
=> '이상징후 감지'라고도 한다.
비행기 엔진에 많은 센서가 있는데 그 센서들의 데이터들을 분석
일부 센서 데이터가 튄다면 비행기에 문제가 있는 것이라 바로 알려준다.
일례) 트럼프 첫대선 때 가짜뉴스 뿌리는 방법을 사용했었다.
첫 대선엔 이겼는데 두번째엔 바이든에게 졌다.
포털에서 가짜뉴스를 막아버리는 알고리즘을 사용해서 가짜뉴스가 노출이 되지 않도록 했다.
Raw data > Algorithm > Automated clusters > Manual Review > Product
로우데이터의 집합을 만들어 내기 위한 두가지 방법 (군집을 만들어내기위한 방법)
1 선을 그어본 후 가장 잘 나누어진 것을 찾는다.
2 대표 데이터들을 뽑아서 그 대표 데이터 주변으로 원을 만든다.
즉, Clustering이란 로우데이터를 알고리즘에 의해서 집합시켜 놓는 것이다.
스스로 강화시켜 나간다.
보상이 제공되고 보상에 대한 인과관계가 중요하다.
잘할 때마다 점수를 주면 점수가 높은 쪽으로 행동한다.
- 2018/2019 기준 가장 인기 있는 알고리즘
1위 Regression
3위 Clustering
예시1) 근속연수를 데이터로 데이터로 연봉을 결과를 내는 그래프
y = wx+b
x는 근속연수
w는 기울기
b는 시작점, 초봉
x의 값, y의 값 각각의 컬럼이 한개씩 일 때는 그래프가 단순해서 사람의 눈으로 파악 가능한데
컬럼이 많아지면 사람이 파악하기 힘들다 그래서 컴퓨터로 계산한다.
예시2) 타이타닉호 데이터
삶과 죽음을 결정하는 데이터
나이, 성별, 선실등급, 티켓요금, 부모자식, 형제자매 데이터가 feature
생존여부가 label
데이터를 분석해 보면 나이가 어리고 성별이 여자고 선실등급이 높으면 생존확률이 높다
x = 피쳐
y = 라벨
데이터를 통으로 쓰지 않고 둘로 나눠 학습용, 테스트용으로 나눈다
7:3, 8:2 비율로 학습이 잘되었는지 테스트를 한다.
X_train dataset(학습용 데이터) | Y_train
X_test dataset(테스트용 데이터) | Y_test
(3등분하기도 한다)
Random Split
데이터를 학습시키기 전에 섞어줘야 한다.
섞어주고 나눈다해서 랜덤 스플릿
Open data 오픈데이터
주변에 공개되어 있는 데이터가 많다
1) Kosis 국가통계포탈
머신러닝 공부할 때 주어진데이터로만 하는 것보다 오픈데이터로 어디까지 가능한다 테스트해보는 것도 좋음
2) kaggle
Orange Data Minig
무료 도구
코딩을 처음하는 사람들 교육용으로 많이 쓰이는 도구이며
데어터에 대한 기본 지식이 없어도 데이터 처리 및 시각화, 머신러닝을 직접적으로 적용해볼 수 있는 도구이다.
Windows, MacOS, Linux 등 크로스 플랫폼 지원한다.
슬로베니아에서 개발 버전 1.0~2.0 류블랴나 대학에서 개발했다.
버전 3.0에서는 파이썬 생태계와 같이 가서 툴 안에 요소들이 파이썬과 연결된다.
파이썬 라이브러리 적극적으로 활용하여
Numpy, SciPy sciki-learn과 같은 라이브러리가 내장되어 있다.
https://orangedatamining.com/ 에서 다운로드
머신러닝에 대해 미리 가볍게 공부해왔지만 역시 부족했는지 첫 수업인데도 강사님이 말씀하신 것처럼 정신이 잠깐 날아갔다 돌아오는 경험을 했다. 그래도 미리 익혀둔 부분은 기존 지식에 살이 붙여지고 정리가 되는 듯해서 기뻤다. 게다가 모르는 내용이라도 용어를 익혀둔 것만으로 도움되었다. 처음 듣는 내용은 강사님의 설명을 요약해서 정리하려고 노력했고 이렇게 정리하여 글을 남긴다.