ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值

举报
一个处女座的程序猿 发表于 2021/03/28 01:54:18 2021/03/28
【摘要】 ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值     目录 输出结果 代码设计     输出结果 更新……   代码设计 import numpy as np import random def genData(numPoints,bias,variance): x = np.zeros(...

ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值

 

 

目录

输出结果

代码设计


 

 

输出结果

更新……

 

代码设计


  
  1. import numpy as np
  2. import random
  3. def genData(numPoints,bias,variance):
  4. x = np.zeros(shape=(numPoints,2))
  5. y = np.zeros(shape=(numPoints))
  6. for i in range(0,numPoints):
  7. x[i][0]=1
  8. x[i][1]=i
  9. y[i]=(i+bias)+random.uniform(0,1)%variance
  10. return x,y
  11. def gradientDescent(x,y,theta,alpha,m,numIterations):
  12. xTran = np.transpose(x)
  13. for i in range(numIterations):
  14. hypothesis = np.dot(x,theta)
  15. loss = hypothesis-y
  16. cost = np.sum(loss**2)/(2*m)
  17. gradient=np.dot(xTran,loss)/m
  18. theta = theta-alpha*gradient
  19. print ("Iteration %d | cost :%f" %(i,cost))
  20. return theta
  21. x,y = genData(100, 25, 10) #100行,
  22. print ("x:")
  23. print (x)
  24. print ("y:")
  25. print (y)
  26. m,n = np.shape(x)
  27. n_y = np.shape(y)
  28. print("m:"+str(m)+" n:"+str(n)+" n_y:"+str(n_y))
  29. numIterations = 100000
  30. alpha = 0.0005
  31. theta = np.ones(n)
  32. theta= gradientDescent(x, y, theta, alpha, m, numIterations)
  33. print(theta)

 

 

相关文章
ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值

 

 

 

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/78993485

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。