본문 바로가기

선형회귀4

12. 단층 퍼셉트론의 한계-2.선형 회귀식의 한계 저번 차시에서 단층 퍼셉트론으로는 XOR 문제를 해결할 수 없다는 것을 알았다. 이번엔 실제로 와 닫는 문제를 가져왔다. 이번 목표는 단층 퍼셉트론으로 몸무게에 따른 키를 예측하는 모델을 만들어 보자. 몸무게와 키는 대략적으로 비례하는 것을 다들 알고 있을 것이다. 아기를 키워보면 알게되는 사실이 있는데 몸무게와 키가 정비례하는 것처럼 쭉쭉 큰다는 것이다. 그러다가 성장기가 지나면 키는 성장이 멈추지만 몸무게는 몸이 허락하는 한 한계가 없다(...) 이런 관계를 단층 퍼셉트론으로 모델을 만들 수 있을까? 1. 데이터 준비 및 확인 위의 파일을 임포트 하고 입력값, 목표값 등을 나누고 그래프를 그려보자 import numpy as np import matplotlib.pyplot as plt from nu.. 2022. 1. 12.
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.