본문 바로가기

파이썬13

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.
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.
4. 로지스틱 회귀 구현하기(이론) 로지스틱 회귀(logistic regression)은 선형결합으로 이루어진 모델(Y = WX + B)을 이용하여 어떤 사건을 분류하거나 예측하는데 사용한다. 단순 이진 분류인 경우 1, 0으로 분류되는데 선형회귀를 사용한다면 안전성이나 예측성공이 떨어진다. 새로운 데이터가 추가되면 직선 그래프(선형회귀 모델)를 크게 수정해야 하기 때문이다. 정확하게 1이다, 0이다 구별하는 대신, 1일 확률이 몇 %이다 라고 하는 것이 더 수월하고 이를 기반으로 한 모델은 데이터 추가나 변화에 유연성을 가진다. 이러한 성질을 가진 시그모이드 함수(sigmoid)를 많이 사용한다. 1. 로지스틱 회귀 데이터 위 데이터는 평균 득점(avg_score), 리바운드 횟수(rebound), 어시스트 횟수(asist)에 따른 신인.. 2022. 1. 4.