【机器学习】逻辑回归算法与梯度下降法的理解和实现

来源:互联网 发布:mac 打开隐藏的文件夹 编辑:程序博客网 时间:2024/06/05 03:44

一.前言

这里写图片描述

二.逻辑回归算法(Logistic Regression)

这里写图片描述
这里写图片描述
这里写图片描述

三.梯度下降法(Gradient Descent)

这里写图片描述

四.代码

# sigmoid functiondef sigmoid(x):    return 1.0 / (1 + exp(-x))# 训练LR模型def trainLogicalRegression(train_x, train_y ,opts):    numSamples, numFeatures = shape(train_x)    alpha = opts['alpha']           # 学习速率    maxIter = opts['maxIter']       # 最大迭代次数    weights = ones((numFeatures, 1))# 初始化θ向量    for i in range(maxIter):        output = sigmoid(train_x * weights)        error = output - train_y        weights = weights - alpha * train_x.transpose() * error    return weights

结果:
这里写图片描述
训练参数:’alpha’: 0.01, ‘maxIter’: 1500

对梯度下降法的问题和改进,后续再研究。
参考资料:http://blog.csdn.net/zouxy09/article/details/20319673

0 0
原创粉丝点击