def normalEqnation(X, y):
theta = np.linalg.inv(X.T@X)@X.T@y#X.T@X等价于X.T.dot(X)
return theta
对比
梯度下降(上一节有算法和代码) | 正规方程(见上面) |
---|---|
需要学习率 | 不需要 |
需要迭代次数 | 不需要 |
特征很大时很快 | 特征很大时(大约大于10K)很慢 |
def normalEqnation(X, y):
theta = np.linalg.inv(X.T@X)@X.T@y#X.T@X等价于X.T.dot(X)
return theta
对比
梯度下降(上一节有算法和代码) | 正规方程(见上面) |
---|---|
需要学习率 | 不需要 |
需要迭代次数 | 不需要 |
特征很大时很快 | 特征很大时(大约大于10K)很慢 |