본문 바로가기

수학9

4. 로지스틱 회귀 구현하기(이론) 로지스틱 회귀(logistic regression)은 선형결합으로 이루어진 모델(Y = WX + B)을 이용하여 어떤 사건을 분류하거나 예측하는데 사용한다. 단순 이진 분류인 경우 1, 0으로 분류되는데 선형회귀를 사용한다면 안전성이나 예측성공이 떨어진다. 새로운 데이터가 추가되면 직선 그래프(선형회귀 모델)를 크게 수정해야 하기 때문이다. 정확하게 1이다, 0이다 구별하는 대신, 1일 확률이 몇 %이다 라고 하는 것이 더 수월하고 이를 기반으로 한 모델은 데이터 추가나 변화에 유연성을 가진다. 이러한 성질을 가진 시그모이드 함수(sigmoid)를 많이 사용한다. 1. 로지스틱 회귀 데이터 위 데이터는 평균 득점(avg_score), 리바운드 횟수(rebound), 어시스트 횟수(asist)에 따른 신인.. 2022. 1. 4.
3. 입력 특성이 2개인 선형회귀 구현(이론, 실습) 저번 시간에는 입력 특성이 1개인 단순 선형 회귀를 구현하였다. 이번에는 입력 특성이 2개 혹은 그 이상에도 적용 가능한 선형회귀 구현을 하고자 한다. 사실 매우 쉽다. 조금만 변형해주면 된다. 예를 들어 아래와 같은 입력값과 목표값이 있다. 위 식은 다음과 같은 선형 관계를 가진다. 즉, 위의 선형 관계는 Y = WX + B로 표현할 수 있고 식은 아래와 같다. forward, 오차함수, 도함수(∂L/∂W, ∂L/∂B) 구하는 방법은 변한 것이 없다. 아래 코드를 보면서 변경점만 몇 가지 확인해 보자. (이전 시간 코드 https://toyourlight.tistory.com/12 와 비교하면 더 좋다) import numpy as np import matplotlib.pyplot as plt from.. 2022. 1. 3.
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.
1. 선형회귀 구현하기(이론) (시작하기 앞서 기본적인 수학 이론을 공부해야 한다. 아래 링크를 정주행하는 것을 추천한다. https://toyourlight.tistory.com/category/%ED%8C%8C%EC%9D%B4%EC%8D%AC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%94%A5%EB%9F%AC%EB%8B%9D%EA%B3%BC%20%EC%88%98%ED%95%99 ) → 일단 7. 2차원 행렬을 입력받는 합성함수의 도함수(실습) 까지 보면 된다. 1. 선형회귀 정의 가장 단순한 선형회귀를 표현해 볼 것이다. 예를 들어 X = [1, 2, 3], Y = [3, 5, 7] 의 입력(X)와 출력(Y)가 있을 때 이 둘의 관계를 Y = wx + b로 가정하고 w, b를 구.. 2022. 1. 3.