import numpy as np
def sigmoid(x):
return 1.0 / (1 + np.exp(-x))
def batch_grad_ascent(X_train, y_train, alpha, n_iter):
“”“批梯度下降”“”
X_train = np.mat(X_train)
y_train = np.mat(y_train).transpose()
m, n = shpae(X_train)
weighs = np.ones((n, 1))
for k in range(n_iter):
hx = sigmoid(weighs * X_train)
error = y_train - hx
weighs += alpha * X_train.transpose() * error
return weights
def stoc_grad_ascent(X_train, y_train, alpha):
“”“随机梯度下降”“”
m, n = shape(X_train)
weights = np.ones((n, 1))
for i in range(m):
h = sigmoid(np.sum(weights * X_train[i]))
error = y_train[i] - h
weights += alpha * error * X_train[i]
return weights
逻辑回归 批梯度下降和随机梯度下降 python实现
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 批量梯度下降和随机梯度下降是机器学习中很常用的学习方法,批量梯度下降更为准确,但是每一轮训练都要遍历全部的样本而随...
- 相同点 在GD和SGD中,都会在每次迭代中更新模型的参数,使得代价函数变小。 不同点 GD 在GD中,每次迭代都要...
- [5]:http://latex.codecogs.com/gif.latex?\mathbf{J(w)}=\fr...