저는 학습 목적으로 처음부터 그래디언트 디센트 메소드를 사용하여 선형 회귀를 구현하려고합니다. 내 코드의 한 부분이 정말로 나를 괴롭 히고 있습니다. 코드 라인을 실행 한 후 어떤 이유에서든지 x
변수가 변경되고 이유가 확실하지 않습니다.선형 회귀 그래디언트 하강 python 구현
변수는 다음과 같습니다. x
및 y
은 numpy 배열이며이 예제에서는 임의의 숫자를 부여했습니다.
x = np.array([1, 2, 3, 4, ...., n])
y = np.array([1, 2, 3, , ...., n])
theta = [0, 0]
alpha = .01
m = len(x)
코드는 없다 : 나는 위의 코드를 실행하면
theta[0] = theta[0] - alpha*1/m*sum([((theta[0]+theta[1]*x) - y)**2 for (x,y) in zip(x,y)])
는 x
더 이상 목록입니다. 변수 n 또는 목록의 마지막 요소 만됩니다.
말이 감사를보십시오! – user1596466