본문 바로가기

파이토치4

9. 다중 분류 구현하기(심화실습) 이전시간에 언급한 대로, Iris 꽃 데이터 중 일부(30개)를 불러와 학습해 볼 것이다. 아래 파일을 임포트한다. 사용하기 쉽게 미리 원-핫 인코딩을 하였다. 1. 데이터 준비 파일을 임포트하고 슬라이스를 통해 입력데이터 input, 목표값 데이터 target으로 분리한다. import numpy as np from numpy import genfromtxt np.random.seed(220106) data = genfromtxt('IRIS_tiny_onehot.csv', delimiter=',', skip_header=1) input = data[:, 0:4] target = data[:, 4:7] W = np.random.randn(3, 4) B = np.random.randn(3, 1) learn.. 2022. 1. 9.
5. 로지스틱 회귀 구현하기(실습) 이전 시간에 로지스틱 회귀의 정의, 도함수를 유도하였다. 1. 복습 위 데이터는 평균 득점(avg_score), 리바운드 횟수(rebound), 어시스트 횟수(asist)에 따른 신인 농구 선수의 NBA 드래프트 여부 (1:성공, 0:실패) 이다. 이를 로지스틱 회귀로 예측할 것이다. 1) g(W, B) 연산은 아래와 같이 정의하였다. 2) σ(g(W, B)) 연산은 아래와 같이 정의하였다. 3) 순방향 연산 predict는 아래와 같이 최종 정의하였다. 4) 오차함수로 이진 교차 엔트로피 오차를 정의하였다. 5) ∂loss(W,B) / ∂W 는 아래와 같이 정의하였다. 6) ∂loss(W,B) / ∂B 는 아래와 같이 정의하였다. 2. 데이터 준비하기 첨부파일을 받아 임포트한다. 데이터를 분할하고 we.. 2022. 1. 4.
2. 선형회귀 구현하기(실습) 저번시간에 X = [1, 2, 3], Y = [3, 5, 7] 의 입력(X)와 출력(Y)가 있을 때 이 둘의 관계를 Y = wx + b로 가정하고 w, b를 구하기 위해 도함수를 구하고 경사하강법을 이용한다고 하였다. 입력값 input X, 목표값 target Y, weight W, bias B를 Numpy로 표현하면 아래와 같다. (아래 learning_rate는 추후에 설명) import numpy as np np.random.seed(220102) input = np.array([[1.], [2.], [3.]]) target = np.array([[3.], [5.], [7.]]) W = np.random.randn(1, 1) # [[0.97213265]] correct value = 2 B = np.. 2022. 1. 3.
7. 2차원 행렬을 입력받는 합성함수의 도함수(실습) 저번시간에 입력이 2차원인 합성함수의 도함수를 구하였다. 1. 다시 복습을 해보자. 입력 X, W는 아래와 같다. g(X, W)함수를 아래와 같이 정의한다. σ(X) 함수를 아래와 같이 정의한다. h(X) 함수를 아래와 같이 정의한다. 합성함수 f(X, W) = h(σ(g(X, W)))를 정의한다. 합성함수의 정의와 연산의 결과는 아래와 같다. 이 때 도함수 ∂f/∂X 는 아래와 같이 성립한다고 유도하였다. ∂f/∂W 는 아래와 같다. 이번 실습은 ∂f/∂X 으로 진행한다. 2. 합성함수의 도함수 계산이 맞는지 직접 계산하여 확인해보기 위의 식을 numpy를 이용하여 적은 것이다. f(X, W)는 forward 함수, ∂f/∂X는 backward 함수로 정의하였다. import numpy as np # .. 2021. 12. 31.