[TIL] 20.08.03

우주먼지·2020년 8월 3일
0

TIL

목록 보기
14/28

CNN

이미지 처리에 알맞게 은닉층을 배치한 신경망

은닉층에 파라미터 수가 적어진 합성곱계층과 파라미터가 없는 풀링계층이 존재한다.

합성곱 계층


출처:http://ww1.machinelearninguru.com/?subid1=2c57a700-d57c-11ea-8716-3d334e21bcb6
일정량의 데이터를 이용하여 출력값을 계산. 특성 입력픽셀과 그와 크기가 같은 가중치 커널을 이용하여 입력픽셀의 가운데의 위치와 같은 위치의 출력벡터값을 계산.

하지만 이와같은 방식으로 계산하면 가장자리의 값을 계산할 수 없다. 이를 해결하기 위한 방법으로 3가지가 있다.

  1. padding방법 : 0이라는 값을 가장자리에 추가하여 n*n행렬을 (n+1)*(n+1)으로 바꿔준다.
  2. valid방법 : 커널이 입력 범위를 벗어나지 않을때만 출력.
    입력벡터 : n*n, 출력벡터 : (n-2)*(n-2)
  3. 보폭방식 : 패딩방식으로 나온 출력벡터 중 보폭을 결정하여 이미지의 크기를 줄여주는 방식.
    보폭[2, 3]이면, 행은 2개중 하나, 열은 3개중 하나를 택하여 계산.

풀링 계층

일정 영역으로부터 최대치나 평균값으로 출력값을 설정.
가중치나 편향이 없어 학습이 이루어지지 않는다.

정한 영역내에서 대표값을 정하는데 대표값을 정하는 방법으로는 최대값과 평균값을 구하는 방법이 있다.

Decision Tree

이진트리를 이용한 방법으로 노드 하나에서 조건의 True와 False로 나뉘어 내려간다.

from sklearn.tree import DecisionTreeClassifier

sklearn에서 결정트리 모델을 불러와 사용한다.
학습하는 방법은 다른 모델과 같은 방식이다.

from sklearn.tree import export_graphviz
import graphviz
import os
os.environ["PATH"] += os.pathsep + r'C:\Program Files (x86)\Graphviz2.38\bin'

결정트리 규칙을 시각화하는 방법이다. graphviz를 다운받아 사용한다.
vscode같은 경우 그냥 실행시 path지정 오류가 발생하는데, 이때 os모듈을 통해 path를 지정해주면 오류가 사라지고 정상 출력된다.

결정트리 시각화

느낀점

  • 한달이 지났는데 생각보다 머리속에 남는건 많이 없는 느낌이라 좀 불안하다.
  • 오늘은 컨디션이 메롱하다... 몸이 늪에 빠져있는 기분이다.
  • 그래도 새로운 걸 배우는 과정, 모델을 사용하는 과정은 신기하고 재밌다. ㅎㅎ
profile
안녕하세요 ㅎㅎ

0개의 댓글