본문 바로가기

머신러닝딥러닝40

딥러닝(Deep Learning) #14 - CNN CNN 합성곱 신경망 : Convolutional Neural Network 이미지처리에 탁월한 성능을 가진 신경망. 합성곱 신경망은 합성곱층(Convolution layer) / 풀링층(Pooling layer)로 구성된다. 2. 합성곱(Convolution) 연산 : 이미지의 특징을 추출함 - 커널/필터라는 N X M 크기 행렬로 높이 X 너비 크기의 이미지를 처음부터 끝까지 겹치며 훑으면서 N X M 크기의 겹쳐지는 이미지와 커널 원소 값을 곱해서 모두 더한 값을 출력으로 한다. - 이미지는 왼쪽위부터 오른쪽 아래 순으로 훑는다. - 스트라이드(Stride) : 입력데이터 필터 적용 시 이동 간격을 조절 하는 것. 필터가 이동할 간격 최종 결과값 : 특성맵(feature map) if stride .. 2022. 4. 15.
딥러닝(deel learning) #13 - 선형회귀 적용하기 선형회귀 수치를 예측하는 선형회귀 라이브러리 & 데이터 확인하기 # 라이브러리 설정 import pandas as pd import numpy as np import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from sklearn.model_selection import train_test_split # seed 값 설정 seed = 0 np.random.seed(seed) tf.set_random_seed(seed) # 데이터 확인 및 분석 data = pd.read_csv("C:/Users/kwon.. 2022. 4. 14.
딥러닝(Deep Learning) #12 베스트 모델 구하기 베스트 모델구하기 기본 와인데이터 확인 및 딥러닝 프레임워크 완성하기 # 베스트 모델 구하기 # 기본 데이터 확인 및 딥러닝 모델 만들기 # 라이브러리 설정 import pandas as pd import numpy as np import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.callback import ModelCheckpoint, EarlyStopping # seed=0 고정설정 seed = 0 np.random.seed(seed) tf.set_random_seed(.. 2022. 4. 14.
딥러닝(Deep learning) #10 다중 분류 다중 분류(multi classificiation) 클래스의 정보가 3개 이상인 경우, 여러개의 답 중 하나를 고르는 분류 문제를 다중분류라고 한다. seed 설정 seed = 0 numpy.random.seed(seed) tf.set_random_seed(seed) seed 고정 설정 random() 함수로 임의값을 설정하는 것처럼 보여도 컴퓨터안에 내장된 '내장테이블' 중 하나를 불러내어 순서대로 숫자를 보여주는 것이다. seed 설정은 랜덤테이블 중 몇 번째 테이블을 불러와 쓸 것인지를 결정하는 것이다. numpy 라이브러리를 사용한 tensorflow 딥러닝 구현 시 numpy.seed와 tensorflow.seed 설정 2개 모두 설정해야한다. 데이터 확인 및 분석 data = pd.read_c.. 2022. 4. 13.
딥러닝(Deep learning) #9 데이터 분석 & 피마 인디언 당뇨병 예측 피마 인디언 데이터 가져오기&분석 # 라이브러리 설정 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 데이터 가져오기 # 데이터에 header가 없어 names로 각 속성별 이름 붙여줌 data = pd.read_csv('C:/Users/kwonk/juno1412-1/juno1412/DL/모두의 딥러닝/dataset/pima-indians-diabetes.csv', names = ["pregnant", "plasma", "pressure", "thickness", "insulin", "bmi", "pedigree", "age", "class"]) # 데이터 확인 print(data.head(5)) print(data... 2022. 4. 13.
딥러닝(Deep learning) #8 모델 설계 keras 입력층 은닉층 출력층 Sequential() 힘수 - Sequential()을 모델로 선언하고 model.add()라는 라인을 추가하면 새로운 층 형성가능. - Sequential 모델은 각 레이어에 정확히 하나의 입력 텐서와 하나의 출력 텐서가 있는 일반 레이어 스택에 적합합니다. model.add() 함수 : 새로운 층을 만드는 함수 Dense()함수 : model.add()로 새로운 층 생성 후, Dense()함수를 통해 몇개의 노드를 만들 건지 지정함. - (Dense(30, input_dim=17, activation='relu')) = Dense(30개의 노드), input_dim(폐암환자 생존여부 데이터 17개를 노드로 보냄), activation = 'relu'(활성화 함수) # 딥러닝 모.. 2022. 4. 13.
딥러닝(Deeping Learning) #7 - 오차 역전파/신경망 오차역전파 다층 퍼셉트론의 최적화과정을 오차역전파(back propagation)라 한다. 오차역전파 구동방식 1. 임의의 초기 가중치 w를 준 뒤, 결과를 계산한다. 2. 실제 값(실제 계산 결과)와 이상값(원하는 값)의 오차를 구한다. 3. 경사 하강법을 이용해 앞 가중치의 오차가 작아지는 방법으로 업데이트 한다. 4. 더이상 오차가 줄어들지 않을 때까지 반복한다. 오차역전파 가중치 수정 수식 신경망의 구현 과정 1. 환경변수 지정 데이터셋, 학습률, 활성화함수, 가중치 선언 등 환경변수 지정 2. 신경망 실행 초기값을 입력해 활성화 함수와 가중치를 거쳐 결과값이 나오게 합니다. 3. 결과를 실제 값에 비교 실제값 vs 이상값 비교 4. 역전파 출력층/은닉층 가중치를 수정한다. 이상값과 실제값의 오차.. 2022. 4. 12.
딥러닝(Deep Learning) #6 - 퍼셉트론 뉴런 VS 퍼셉트론 가중치 가중합 바이어스 활성화 함수 가중치 w(weight) = 기울기 a 바이어스 b(bias) = y 절편 b 가중합(weighted sum) y = wx + b 가중합의 결과를 1 or 0으로 출력해서 다음으로 보낸다. 0, 1을 판단하는 함수를 활성화함수(activation function)이라고하며, 시그모이드 함수가 대표적인 활성화 함수이다. XOR 문제 퍼셉트론의 한계(2차원의 한계) 퍼셉트론으로는 단순히 선을 그려도 하나의 직선으로 흰점/검은점 구분할 수 없음. 다층 퍼셉트론 = 2차원 한계 해결 종이를 휘어서 선 2개로 흰색/검은색 구분이 가능 → 2차원이 아닌 3차원으로 해결 숨어있는 은닉층(hidden layer)를 만들어 해결 다층 퍼셉트론 x = 퍼셉티콘 n(n.. 2022. 4. 12.
딥러닝(deeplearning) #5 - 다항 로지스틱 회귀(Multi_Logistic_Regression) 다항 로지스틱 회귀 다항 로지스틱 회귀 다항 로지스틱 회귀분석은 예측자 변수 세트의 값에 따라 개체를 분류할 때 유용하다. 다항 로지스틱 회귀분석은 종속변수가 두 개의 이상의 범주가 가능하여 로지스틱 회귀분석보다 일반적으로 사용할 수 있다. 1. 라이브러리 생성 import tensorflow as tf import numpy as np 라이브러리 tensorflow, numpy 사용 tensorflow 는 2점대 버전이 아닌 1.15를 사용했음 2점대의 코딩 방식이 다르기 때문에 모두의 딥러닝 시즌1은 tensorflow 1.15를 사용함 # 2. 실행 시 같은 결과 출력을 위한 seed 값 설정 seed = 0 np.random.seed(seed) tf.set_random_seed(seed) 실행 시.. 2022. 4. 12.
반응형