机器人与人工智能爱好者论坛

 找回密码
 立即注册

计算梯度下降应用的问题?

查看数: 12624 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-1-18 14:16

正文摘要:

本帖最后由 iamcodylee 于 2016-1-19 09:46 编辑 使用stanford openclassroom(Deep Learning)中的数据作为training set, exercise中使用的是Logistic Regression and Newton's method,我在训练的使用只使用了g ...

回复

小谢 发表于 2016-1-19 10:14:18
iamcodylee 发表于 2016-1-19 09:41
这样不对,这样一改我的cost函数都算不出来了,
然后抛出来的theta画的线也不对

这是基于梯度上升算法的logistic回归地址
http://www.robot-ai.org/forum.ph ... &extra=page%3D1

其中这段代码与gradDescent 这个方法很像,建议你看一下,或许能找到问题所在。
#dataMatIn 2维numpy数组,列代表特征,行代表训练样本 classLabels 类别标签
def gradAscent(dataMatIn,classLabels):
    #转换为Numpy矩阵数据类型
    dataMatrix = mat(dataMatIn)
    labelMat = mat(classLabels).transpose()
    m,n = shape(dataMatrix)
    alpha = 0.001 #向目标移动的步长
    maxCycles= 500 #迭代次数
    weights =ones((n,1))
    for k in range(maxCycles):
        h=sigmoid(dataMatrix*weights)
        error =(labelMat-h) #h为列向量,列向量的元素个数等于样本个数
        weights = weights + alpha * dataMatrix.transpose()*error
    return weights #返回训练好的回归系数
iamcodylee 发表于 2016-1-19 09:41:52
小谢 发表于 2016-1-18 17:27
第14行代码改成  theta = theta - alpha * x.transpose() * error ,试试

这样不对,这样一改我的cost函数都算不出来了,
然后抛出来的theta画的线也不对
morinson 发表于 2016-1-18 21:19:58
今天看了一篇好文,发现楼主代码里的sigmoid函数叫做“海维塞德阶跃函数”,用来表示跳变的
小谢 发表于 2016-1-18 17:27:54
第14行代码改成  theta = theta - alpha * x.transpose() * error ,试试
morinson 发表于 2016-1-18 17:18:17
  1. def sigmoid(inX):
  2.         return 1.0/(1+exp(-inX))

  3. def gradDescent(dataMatIn, classLabels):
  4.         x = mat(dataMatIn)
  5.         y = mat(classLabels).transpose()
  6.         m,n = shape(x)
  7.         alpha = 0.001
  8.         maxCycles = 100
  9.         theta = ones((n,1))
  10.         for k in range(maxCycles):
  11.                  h = sigmoid(x*theta)
  12.                  error = h - y
  13.                  theta = theta - alpha * (x.transpose() * error /m)
  14.        return theta
复制代码
我没过高数,程序能看到,但看不出数学那里错了。

坐等其它同学解惑。

morinson 发表于 2016-1-18 17:12:20
你用的代码是python吗?

斯坦福的好像使用Octave编写的。
关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-5-19 18:27 , Processed in 0.063447 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表