我正在研究简单的机器学习算法,从简单的梯度下降开始,但是我在尝试在python中实现它时遇到了一些麻烦.
这是我试图重现的例子,我有关于房屋的数据(生活区域(以英尺2为单位)和卧室数量),结果价格如下:
居住面积(2英尺):2104
#bedrooms:3
价格(1000 $ s):400
我正在尝试使用梯度下降法进行简单的回归,但我的算法不起作用......算法的形式不是故意使用向量(我试图逐步理解它).
i = 1
import sys
derror=sys.maxint
error = 0
step = 0.0001
dthresh = 0.1
import random
theta1 = random.random()
theta2 = random.random()
theta0 = random.random()
while derror>dthresh:
diff = 400 - theta0 - 2104 * theta1 - 3 * theta2
theta0 = theta0 + step * diff * 1
theta1 = theta1 + step * diff * 2104
theta2 = theta2 + step * diff * 3
hserror = diff**2/2
derror …Run Code Online (Sandbox Code Playgroud)