인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

바로보기님의 프로필 이미지

작성한 질문수

경사하강법 파이썬 코드 구현 관련 질문

작성

·

58

0

경사하강법 파이썬 코드로 구현하는 파트 공부 도중에 의문점이 생겨 글을 쓰게 되었습니다.

w1_update, w0_update 를 반환하는 함수 def get weight_updates() 에서

y_pred 를 왜 np.dot(X,w1.T)으로 작성하는지 이해를 못했습니다. 입력값을 넣었을때 나오는 예측값의 배열이 있어야 한다고 생각하는데 왜 다 더해져서 한값으로 도출되는건지 모르겠습니다.

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 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) 벡터를 생성하여 각 데이터 포인트에 대한 예측값을 제공합니다.

궁금증이 해결되셨길 바라며, 추가 질문이 있으시면 언제든지 남겨주세요!

이미지 원본 및 추가 정보