작성
·
58
0
경사하강법 파이썬 코드로 구현하는 파트 공부 도중에 의문점이 생겨 글을 쓰게 되었습니다.
w1_update, w0_update 를 반환하는 함수 def get weight_updates() 에서
y_pred 를 왜 np.dot(X,w1.T)으로 작성하는지 이해를 못했습니다. 입력값을 넣었을때 나오는 예측값의 배열이 있어야 한다고 생각하는데 왜 다 더해져서 한값으로 도출되는건지 모르겠습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
바로보기님, 경사하강법 파이썬 코드 구현 중에 질문이 있으시군요.
get_weight_updates
함수에서 y_pred
를 [np.dot](http://np.dot)(X, w1.T)
으로 작성하는 이유는 입력 데이터 X
와 가중치 w1
을 내적하여 예측값을 계산하기 위함입니다. np.dot
함수는 벡터와 행렬의 곱셈을 수행하는데, 이는 선형 회귀 등의 모델에서 많이 사용됩니다.
입력값 X
와 가중치 w1
의 곱셈은 다차원 데이터를 하나의 예측값으로 변환하는 과정입니다. 여러 입력 변수들이 있을 경우, 이들을 조합하여 단일 예측 값을 얻기 위해 가중치를 곱하고, 이를 다시 합산(내적)하는 방식으로 결과값을 도출합니다. 따라서 np.dot(X, w1.T)
는 각 데이터 포인트에 대한 예측값을 계산하는 중요한 과정입니다.
예를 들어, X
가 (m x n) 행렬이고, w1
가 (n x 1) 행렬일 때, np.dot(X, w1.T)
연산은 (m x 1) 벡터를 생성하여 각 데이터 포인트에 대한 예측값을 제공합니다.
궁금증이 해결되셨길 바라며, 추가 질문이 있으시면 언제든지 남겨주세요!