반응형
40. 합성곱 신경망(CNN)
40.1 CNN
40.1.1 이미지를 작은 구역으로 나누어 부분적인 특징을 인식하고 이것을 결합하여 전체를 인식하는 알고리즘
40.1.2 이미지 인식에 성능이 뛰어나며 최근 텍스트 분류에도 많이 사용되고 있음
40.1.3 텍스트 데이터를 word2vec을 적용하여 벡터로 변환한 후 CNN에 입력하여 분석하는 모델
40.2 실습예제1(이미지 분류-mnist)
# 합성곱 신경망
# MNIST 숫자 이미지 분류에 CNN 사용
# (image_height, image_width, image_channels) 크기의 입력 텐서를 사용
# 첫 번째 입력층의 매개변수로 input_shape=(28, 28, 1) 전달
import keras
keras.__version__
from keras import layers
from keras import models
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28,1)))
model.add(layers.MaxPooling2D((2, 2)))
40.3 실습예제2(컬러 이미지 분류)
# CIFAR-10 데이터셋: 10가지 사물이 담긴 컬러 이미지
# 비행기, 자동차, 새, 고양이, 사슴, 개, 개구리, 말, 배, 트럭
# 6만장 (학습용 5만장, 검증용 1만장)
# 32x32 이미지
# 32x32x3 RGB 컬러 이미지
# http://www.cs.toronto.edu/~kriz/cifar.html
%matplotlib inline
from keras.models import Sequential
from keras.preprocessing.image import ImageDataGenerator
from keras.layers import Dense, Activation, Flatten, Dropout, BatchNormalization
from keras.layers import Conv2D, MaxPooling2D
40.4 실습3(텍스트분류)
from gensim.models import word2vec
import codecs
from konlpy.tag import Twitter
# 분석할 텍스트 파일 불러오기
f = open("d:/data/text/ratings.csv", encoding="ms949")
data = f.read()
twitter=Twitter()
# 전체 텍스트를 라인 단위로 나누어 배열로 저장
lines = data.split("\r\n")
results = []
for line in lines:
r = []
malist = twitter.pos(line, norm = True, stem = True)
반응형