본문 바로가기

파이썬 프로그래밍/Numpy 딥러닝46

10. 단층 퍼셉트론 지금까지 했던 모델들은 모두 단층 퍼셉트론(또는 싱글 퍼셉트론) 연산이다. Numpy 딥러닝 시리즈를 보면 모두 단층 퍼셉트론으로 어설픈(?) 딥러닝을 구현한 것을 알 수 있을 것이다. 구체적으로 어떤 것을 했었는지 살펴보자. 1. 복습 1) '1.선형회귀 구현하기' 2) '3.입력 특성이 2개인 선형회귀 구현' 3) '4. 로지스틱 회귀 구현하기' 평균 득점(avg_score), 리바운드 횟수(rebound), 어시스트 횟수(asist)에 따른 신인 농구 선수의 NBA 드래프트 여부 (1:성공, 0:실패) 구현하기 4) '7. 다중 분류 구현하기' Iris 꽃 4개의 특성을 입력 받아 3개의 꽃으로 분류하기 2. 퍼셉트론 퍼셉트론(Perceptron)은 1943년에 제안된 아이디어로 쉽게 설명하자면 위.. 2022. 1. 10.
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.
8. 다중 분류 구현하기(기초실습) 이전시간에 소프트맥스, 크로스엔트로피를 이용하여 아이리스 꽃 분류 문제를 어떻게 해결할 수 있는지 이론적으로 알아보았다. 이번엔 단 한개의 데이터를 이용하여 이론을 넘파이 코드로 작성하고 pytorch와 비교해보는 시간을 갖도록 하겠다. 1. 데이터 정의 입력 input, 목표값 target, 가중치 W, 편향 B, 학습률 learning_rate를 정의한다. import numpy as np np.random.seed(220106) input = np.array([[1.2, 2.4, 3.6, 1.8]], dtype=np.float32) target = np.array([[0, 0, 1]], dtype=np.int32) W = np.random.randn(3, 4) B = np.random.randn(3.. 2022. 1. 9.
7. 다중 분류 구현하기(이론) 이번 시간에는 소프트맥스 함수로 출력되는 다중 분류 구현하기를 이론적으로 살펴보겠다. 대표적인 문제로 아이리스(Iris) 꽃 분류 문제가 있다. 아래 자료를 살펴보자. 1. 데이터 살펴보기 1) 데이터 속성 : 4가지 (1) sepal_length : 꽃잎 길이 (2) sepal_width : 꽃잎 너비 (3) petal_lenth : 꽃받침 길이 (4) petal_width : 꽃받침 너비 2) 데이터 분류 : 3가지(setosa, versicolor, virginica) 4가지의 데이터 속성을 입력받아 3가지의 아이리스 꽃 분류를 하는 문제이다. 2. 정의하기 1) 입력값(input)을 아래와 같이 정의한다. 2) 목표값(target) 아래와 같이 정의한다. 3) 가중치(weight)와 편향(bias.. 2022. 1. 8.