[2018/07/18] 머신러닝 1. 머신러닝 개요



인공지능
컴퓨터를 사람처럼 만들고자 하는 기술의 총칭

머신러닝
데이터를 주면 데이터를 기반으로 학습해서 로직을 자동으로 만들어내는 기술
다양한 알고리즘이 있음

딥러닝
인공신경망 방식으로 컴퓨터 스스로 해결하는 방법
신경망을 컴퓨터적으로 구현한 것.
나온 지 오래된 기술임.

머신러닝 중에서도 결정트리만 담당

인공지능 구현 방법 – 합리주의자
각 분야의 전문적인 지식들을 컴퓨터에 제공
1980년대 전문가 시스템
문제: 지식 전수에는 한계가 있다.
지식이라는 것도 모호하다.

인공지능 구현 방법 2 – 경험주의자
데이터로부터 지식 직접 학습

데이터마이닝 중 가장 유명한 것: 연관규칙
마트에서 기저귀랑 맥주

인공지능의 붐 원인
멋진 알고리즘 + 많은 데이터 + 좋은 컴퓨터
‘싸게’ 이용할 수 있다.

데이터가 왜 이렇게 많이 쌓이게 되었는가?
개인의 행태들에 대한 기록이 많아졌다
통신되는 기기에서 뽑아지는 데이터가 많아졌다.

딥러닝은 이미지 처리 기술 등에 주로 쓰이고 업계에서는 머신러닝을 더 쓰기도 한다.
딥러닝은 컴퓨팅 파워가 많이 들어간다.
자율주행 쪽에서는 쓰려고 하는 듯

머신러닝의 정의



머신러닝의 종류



지도학습: 정답이 있는 데이터 바탕으로 학습
분류랑 회귀

비지도학습: 이미지에 label(답)이 적혀있지 않다.
강화학습: 정답이 있는 게 아니라 보상 가장 많이 주는 방향으로 결정

tensorflow를 보면 된다.
keras랑 같이 많이 쓴다.

keras: 텐서플로우를 좀더 쓰기 쉽게 만들어놓은 라이브러리
얘가 뭔가 알고리즘이 있는 게 아니라 실제 동작은 tensorflow 바탕으로 한다.

spark: 빅데이터를 처리하기 위한 솔루션 중 하나이다.
빅데이터 프레임워크는 수십 가지이다
빅데이터는 얘가 평정했다.

Scikit Learn
다양한 알고리즘이 구현되어 있음



KNN 알고리즘
k-nearest neighbor

만약

만약 KNN의 정확도가 부족할 때면…!
다른 알고리즘을 쓸 수도 있다.

결정트리
장점: 다른 모델들은 결과가 나와도 어떻게 나왔는지 이해할 수 없는데 결정트리는 이해하기가 쉽다.
단점: 연속적인 속성의 처리가 쉽지 않다.

알고리즘 중에서 CART가 가장 많이 쓰인다.