본문 바로가기
● 인공지능, 분석/20.08 K-ICT

[K-ICT] 머신러닝 개념, Numpy, Pandas, Matplotlib 개념

by 0ver-grow 2020. 8. 11.
반응형

기존 프로그램 : 프로그래밍 언어를 이용, 정해진 규칙을 수행하는 것

머신러닝 : 프로그램이 데이터를 학습하여 규칙을 만들어 수행

 

머신러닝이란

1. 데이터로 부터 학습하도록 컴퓨터를 프로그래밍하는 분야

2. 명시적 프로그래밍없이 컴퓨터 스스로 학습하는 능력을 부여

3. 과거경험에서 학습을 통해 얻은 지식을 미래의 결정에 이용하는 CS 분야

4. 관측 패턴을 일반화하거나 샘플을 통해 새 규칙을 생성하는 목표를 가짐

 

머신러닝이 적용된 프로그램

자율주행차, 알파고, 음성인식명령, 문자인식

 

머신러닝을 사용하는 이유?

우선 전통적인 방법을 살펴보자

1. 문제를 찾고 연구, 분석한다.

2. 해결책을 만들기 위해 직접 규칙을 작성한다. (if 조건문)

예를들어, 조건문을 토대로 스팸 메일 필터 작성

3. 평가 진행

4. (평가시 문제 발생했다면) 오차 분석

예를 들어, 스팸 메일인데 이를 필터링하지 못하는 문제 발생

4. (평가시 문제 없다면) 배치

이 오차 분석 과정이 반복되면 규칙이 복잡해지고 유지보수에 따른 비용도 증가한다.

 

이제 머신러닝 접근방법에 대해 알아보자

데이터를 가지고

스팸메일데이터를 가지고 학습훈련을 하여 프로그램을 얼마나 분류가 정확한지 평가하고

어느 정도의 정확치를 가지면 배치를 한다.

직접 규칙을 작성하지 않으므로 프로그램의 길이가 짧아지고

대량의 데이터를 가지고 학습한 결과 분류 정확도가 높아진다.

사용되는 단어,말은 계속 변화한다.

이를 가지고 데이터를 업데이트한다

업데이트된 데이터를 가지고 머신러닝 훈련을 진행하여 새 모델을 생성

이 모델에 대해 분류 정확도를 평가하기를 반복

 

머신러닝훈련을 하여 솔루션이 나오는데 이 솔루션을 분석해보면 인간이 분석하지 못한 규칙이 나타난다.

이처럼 머신러닝을 쓰면 문제에 대한 규칙, 패턴에 대한 이해를 높일 수 있다.

이런 이유로 머신러닝은 전통적인 측면에서보다

유지보수, 적응성, 새가치 측면에서 유용하다


지도학습 VS 비지도학습 VS 준지도학습

머신러닝 분류

1) 지도학습

- 학습데이터가 입력(특징행력) 출력(대상 벡터) 쌍으로 제공됨 -> 이를 레이블 데이터라고 함

2차원 이상은 인간이 인식하기 어렵다. 2차원 이상의 데이터를 축소하는 것을 의미

A라는 물건을 산 사람은 B도 사더라.

 

강화학습

모두 다 정답(레이블)을 달 순 없음

사진에는 사람의 얼굴이 있음. 측면,정면 등등

홍길동의 사진을 가지고 동일 인문에 대한 군집을 만들고

그리고 홍길동의 개인 정보(레이블)붙인다.

개인 정보 하나만 달라놓으면 실용적인 시스템이 된다.



머신러닝을 위한 파이썬 핵심정리

Numpy 입출력 자료구조로 사용된다

Pandas 입력 데이터를 만드는 과정과 데이터 시각화 과정에 사용

 

Matplotlib 라이브러리 정리

 

반응형