본문 바로가기

체인룰5

4. 로지스틱 회귀 구현하기(이론) 로지스틱 회귀(logistic regression)은 선형결합으로 이루어진 모델(Y = WX + B)을 이용하여 어떤 사건을 분류하거나 예측하는데 사용한다. 단순 이진 분류인 경우 1, 0으로 분류되는데 선형회귀를 사용한다면 안전성이나 예측성공이 떨어진다. 새로운 데이터가 추가되면 직선 그래프(선형회귀 모델)를 크게 수정해야 하기 때문이다. 정확하게 1이다, 0이다 구별하는 대신, 1일 확률이 몇 %이다 라고 하는 것이 더 수월하고 이를 기반으로 한 모델은 데이터 추가나 변화에 유연성을 가진다. 이러한 성질을 가진 시그모이드 함수(sigmoid)를 많이 사용한다. 1. 로지스틱 회귀 데이터 위 데이터는 평균 득점(avg_score), 리바운드 횟수(rebound), 어시스트 횟수(asist)에 따른 신인.. 2022. 1. 4.
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.
6. 2차원 행렬을 입력받는 합성함수의 도함수(이론) 1. 2차원 행렬을 입력받는 합성함수의 정의 입력이 2차원인 경우에는 도함수를 어떻게 구할 수 있을까? 일단 합성함수부터 정의하자. 입력 X, W는 아래와 같다. g(X, W)함수를 아래와 같이 정의한다. σ(X) 함수를 아래와 같이 정의한다. h(X) 함수를 아래와 같이 정의한다. 합성함수 f(X, W) = h(σ(g(X, W)))를 정의한다. 합성함수의 정의와 연산의 결과는 아래와 같다. 딥러닝에서 상당히 유사하게 사용하는 forward 연산이다. g -> σ -> h 정방향 순서대로 연산하여 출력한다. 2. 도함수 구하기 도함수는 체인룰을 사용하여 forward 연산과 반대로 h -> σ -> g 순서대로 구한다. 그래서 backward 연산이다. 우리는 X의 변화에 따른 최종출력 f의 변화가 궁금.. 2021. 12. 31.
3. 입력이 여러 개인 함수와 도함수의 표현 입력이 여러 개인 함수와 도함수는 어떻게 표현할 수 있는지 알아보자. 간단한 함수부터 출발하자. 입력 x, y를 받아서 더하여 출력한다. geogebra로 그려보면 x, y, z로 이루어진 3차원에서 2차원 평면 그래프가 그려진다. sigmoid라고 하여 딥러닝에서 많이 봤던 함수와 합성하고자 한다. 로 정의되는 함수고, 이렇게 그려지는 함수다. 보통 classification, 분류에서 사용할 수 있는 활성화함수로도 쓰인다. g(x) -> f(x)로 합성시킬 것이다. 이 합성함수의 그래프를 파이썬으로 그려보자. matplotlib의 3차원 모듈을 이용할 것이다. from mpl_toolkits.mplot3d import axes3d import numpy as np import matplotlib.py.. 2021. 12. 28.