Linear Regression Gradient Descent
선형회귀 표현식 Y는 종속변수 값 θ₀ 는 bias θ₁,…,θₙ 회귀계수 x₁, x₂,…,xₙ 는 독립변수 위의 식을 아래와 같이 벡터로 표현이 가능하다. θ는 model의 파라미터 벡터 x는 Xo=1인 입력 벡터 # data 생성 np.random.seed(321) x_old = np.random.rand(1000, 1) # intercept항 1추가 y = 2 + 5 * x_old + np.random.rand(1000, 1) # plot plt.scatter(x_old, y, s=10) plt.xlabel('x') plt.ylabel('y') plt.ylim(2, 8) plt.show() # intercept 추가 x = np.c_[np.ones(x_old.shape[0]), x_old] 비용 함..
2020. 12. 30.
python 복사 단순 객체복사 vs shallow copy vs deep copy
코드를 짜다보면 객체 복사를 하는 경우가 많다 아마 이 글을 읽는 사람은 deep copy의 존재를 알고있기 때문에 들어왔는데 복사의 개념이 머리속에 없는 사람들은 단순 객체 복사만을 사용하고 있는 경우가 많을 것이다. 1. 단순 객체 복사 a = [x for x in range(10)] b = a # shallow copy print(b) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b[0] = 10 print(b) # [10, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(a) # [10, 1, 2, 3, 4, 5, 6, 7, 8, 9] 변수 b에 a를 그냥 바로 담았다. b의 값을 변경하는 경우 원본 데이터 a도 바뀌어버렸다. a와 b가 동일한 객체를 참조하기 때문이다. ..
2020. 10. 19.