1. 환경 및 데이터 준비 # 텐서플로 라이브러리 안에 있는 케라스 API에서 필요한 함수들 호출 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # 데이터를 다루는 데 필요한 라이브러리 호출 import numpy as np # 준비된 수술 환자 데이터를 불러옴 Data_set = np.loadtxt("./data/ThoraricSurgery3.csv", delimiter=",") X = Data_set[:,0:16] # 환자의 진찰 기록을 X로 지정 y = Data_set[:,16] # 수술 1년 후 사망/생존 여부를 y로 지정 2. 구조 결정 - 딥러닝의 구조를 짜고 층 설정 model =..
오차 역전파(back propagation) - 가중치와 바이어스를 조정하기 위해 사용하는 알고리즘 - 예측 출력과 실제 출력 사이의 오차를 계산한 다음, 이 오차를 계층별로 역방향으로 전파하여 가중치를 적절히 조정 ※ 경사 하강법은 단일 퍼셉트론에서만 가능 구동 방식 1. 임의의 초기 가중치를 준 뒤 결과 계산 2. 계산 결과와 우리가 원하는 값 사이의 오차 계산 3. 경사 하강법을 이용해 바로 앞 가중치를 오차가 작아지는 방향으로 업데이트 4. 1~3 과정을 더이상 오차가 줄어들지 않을 때까지 반복 '모두의 딥러닝 개정 3판'의 내용과 https://github.com/taehojo/deeplearning의 코드 참고
다중 선형 회귀(Multiple linear regression) - 2개 이상의 독립 변수로부터 종속 변수 예측 - 단순 선형 회귀보다 더 정확한 예측 가능 다중 선형 회귀 예제 - 파이썬 코드로 구현 - 중간고사를 본 4명의 학생의 공부한 시간, 과외 수업 횟수와 성적 조사 - 독립 변수 : 공부한 시간, 과외 수업 횟수 / 종속 변수 : 성적 공부한 시간 2 4 6 8 과외 수업 횟수 0 4 2 3 성적 71 93 91 97 1. 환경 및 데이터 준비 - 독립 변수 x1(공부 시간), x2(과외 시간)로 종속 변수 y(성적)를 만들 경우, 식은 y = a1x1 + a2x2 + b import numpy as np import matplotlib.pyplot as plt # 공부 시간 x1과 과외 시..
기울기와 오차의 관계 - y = ax + b에서 기울기 a와 오차는 이차 함수 관계 - 기울기를 너무 크게 잡거나 너무 작게 잡으면 오차 커짐 - 적절한 기울기(m)를 찾았을 때 오차 최소화 경사 하강법(gradient decent) - 오차의 변화에 따라 이차 함수 그래프를 만들고 적절한 학습률을 설정해 미분 값이 0인 지점을 구하는 것 계산법 1. 어느 한 점(a1)에서 미분을 구한다 2. 구한 기울기의 반대 방향(기울기가 +면 음의 방향, -면 양의 방향)으로 얼마간 이동시킨 점(a2)에서 미분을 구한다 3. 앞에서 구한 미분 값이 0이 아니면 1, 2번 반복 학습률(learning rate) : 매회 얼마의 강도로 업데이트 되어야 하는지 제어하는 척도 : 기울기를 바꿔 이동할 때 적절한 학습률을 ..
선형 회귀(linear regression) 정의 - 독립 변수 x를 사용해 종속 변수 y의 움직임을 예측하고 설명 - 하나의 x값으로 y값을 설명할 수 있다면 단순 선형 회귀, x값이 여러 개 필요하면 다중 선형 회귀 독립 변수 : 'x값이 변함에 따라 y값이 변한다' 에서 독립적으로 변할 수 있는 x값 종속 변수 : 'x값이 변함에 따라 y값이 변한다' 에서 독립 변수에 따라 종속적으로 변하는 y값 단순 선형 회귀 예제 - 중간고사를 본 4명의 학생의 공부한 시간과 성적 조사 - 독립 변수 : 공부한 시간 / 종속 변수 : 성적 공부한 시간 2 4 6 8 성적 81 93 91 97 # maplotlib 라이브러리 사용해서 그래프로 나타내기 import matplotlib.pyplot as plt x ..