1. 머신러닝과 딥러닝

인공지능..? 머신러닝..? 딥러닝..?

  • 인공지능 : 인간의 학습능력, 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 시스템으로 실현한 기술을 뜻한다.

머신러닝

1. 머신러닝의 개요

  • 데이터를 구문별 분석하고 수집된 데이터들을 통해 학습하고 정보를 바탕으로 결정을 내린다

2. 머신러닝의 예)

머신러닝의 알고리즘의 예로는 인공지능 카카오를 예를 들 수 있다, 청취자의 좋아하는 음악들을 수집해서 학습하고 비슷한 청취자의 데이터를 연관시켜 음악을 추천하는 머신러닝의 예로 볼 수 있다.

-쇼팽의 곡을 학습하여 비슷한 곡을 생성-

-탁구의 방법을 학습하여 탁구하는 로봇-

딥러닝

1. 딥러닝의 개요

딥러닝은 머신러닝을 이용하는 하나의 방법이며, 학습 과정 동안 인공 신경망으로 많은 데이터에서 얻은 규칙들을 독립적으로 분리하며 훈련한다.

2. 신경망??

인간의 뇌는 일을 처리하는 작업에있어서 과정을 진행한다.
각 뉴런은 다른 뉴언으로부터 입력을 받고 뉴런에 존재하는 입력들의 효과는 스냅틱 가중치에 의해 컨트롤된다.

-인간의 신경망-

-딥러닝의 심화계층처리-

머신러닝의 종류

1. 지도 학습 (Supervised Learning)

  • 간단 요약

    지도 학습은 정답이 있는 데이터를 활용하여 데이터를 학습시키는 방법이다.
    컴퓨터에게 문제(Feature)와 정답(Label) 데이터(Training Set)을 학습 시키고 운영 데이터를 분류하거나 맞추는 알고리즘이다.

2. 비지도 학습 (Unsupervised Learning)

  • 간단 요약

    입력 데이터에 결과 값(Label)을 포함시키지 않으며 시스템이 스스로 학습을 하도록 훈련하는 학습 방법이다.
    어떤 아이템을 구매하는 예로들어서 구매 패턴에 따라 고객을 그룹화(클러스터링)를 하여 데이터 중심점 값을 이용한다.

3. 강화 학습(Reinforcement Learning)

  • 간단 요약

    컴퓨터의 행동에 따라 "보상"을 주어 학습 훈련하는것을 뜻한다. 예를들어 강아지를 보면 강아지가 손을 내밀었을때 간식을 주면 강아지는 몇번의 같은 행동 보상을 학습하여 반복 행동을 수행하게된다 강화 학습과 같다.

머신러닝 실습

1. 실습환경

  • 아나콘다
  • tensorflow
  • keras
  • Gensim
  • Scikit-learn
  • NLTK
  • KoNLPy
  • Pandas

2. 라이브러리 설치

# 텐서플로우와 keras는 서로 버전연관성을 갖고있기에 버전에 주의하자
pip install tensorflow==2.3.0
# tensorflow(텐서플로우)는 구글이 2015년에 공개한 머신 러닝 오픈소스 라이브러리이다. 머신 러닝과 딥 러닝을 직관적이고 손쉽게 할 수 있도록 설계되었다.
pip install keras==2.4
# Keras(케라스)는 딥 러닝 프레임워크인 텐서플로우에 대한 추상화 된 API를 제공한다. 케라스는 백엔드로 텐서플로우를 사용하며, 좀 더 쉽게 딥 러닝을 사용할 수 있게 해준다. 텐서플로우 코드를 훨씬 간단하게 작성할 수 있다.
pip install gensim
# Gensim(젠심)은 머신 러닝을 사용하여 토픽 모델링과 자연어 처리 등을 수행할 수 있게 해주는 오픈 소스 라이브러리이다
pip install scikit-learn
# scikit-learn(사이킨런)은 파이썬의 머신러닝 라이브러리중 하나이다. 다양한 머신 러닝 모듈을 불러올 수 있으며, 여러 실습을 할 수 있는 데이터를 제공하고있다.
pip install nltk
# NLTK(엔엘티케이)는 자연어 처리를 위한 파이썬 패키지이다.
# NLTK의 기능을 정확하게 사용하기 위해서는 NLTK Data라는 여러 데이터들을 추가적으로 설치해야한다. 이를 위해서는 파이썬 코드 내에서 import nltk 이후에 nltk.download()라는 코드를 수행하여 설치
pip install konlpy
# KoNLPy(코엔엘파이)는 한국어 자연어 처리를 위한 형태소 분석기 패키지이다
pip install pandas
# 데이터를 분석하기 위한 필수 패키지인 Pandas(판다스)는 파이썬을 이용한 데이터 분석과 같은 작업에서 필수 라이브러리로 알려져있다. Pandas실습은 3번 chapter 실습에서 진행해본다

# 버전을 잘못설치하여 에러가 발생하는경우 아래와 같이 해결하자
pip uninstall keras -y
pip uninstall keras-nightly -y
pip uninstall keras-Preprocessing -y
pip uninstall keras-vis -y
pip uninstall tensorflow -y

pip install tensorflow==2.3.0
pip install keras==2.4

3. 실습

1. 판다스

Pandas(판다스)는 3가지의 데이터 구조를 사용한다

1. 시리즈(Series) 2. 데이터프레임(DataFrame) 3. 패널(Panel)

<시리즈 클래스>

1차원 배열의 값(values)에 각 값에 대응되는 인덱스(index)를 부여할 수 있는 구조를 갖고 있다.
import pandas as pd
sr = pd.Series([20000, 50000, 30000],index=["볼펜", "만년필", "책"])
# 이를이용하여 다양한 데이터 접근방식을 이용할 수 있다.
print(sr) 
# 결과값: 볼펜 20000 만년필 50000 책 30000
print (sr[:2])
# 결과값: 볼펜 20000 만년필 50000

<데이터프레임 클래스>

데이터프레임은 2차원 리스트를 매개변수로 전달한다. 2차원이므로 행방향 인덱스(index)와 열방향 인덱스(column)가 존재한다. 즉, 행과 열을 가지는 자료구조다. 시리즈가 인덱스(index)와 값(values)으로 구성된다면, 데이터프레임은 열(columns)까지 추가되어 열(columns), 인덱스(index), 값(values)으로 구성된다.
import pandas as pd
values = [[10, 24, 30], [24, 45, 16], [17, 28, 19]]
index = ['1', '2', '3']
columns = ['로또1', '로또2', '로또3']

sf = pd.DataFrame(values, index=index, columns=columns)
print(sf)

# 결과 값       
로또1  로또2  로또3
1    10  24  30
2    24  45  16
3  17  28  19

좋은 웹페이지 즐겨찾기