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

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

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

目录

输出结果

代码设计


输出结果

更新……

代码设计


      import numpy as np
      import random
      def genData(numPoints,bias,variance):
       x = np.zeros(shape=(numPoints,2))
       y = np.zeros(shape=(numPoints))
      for i in range(0,numPoints):
       x[i][0]=1
       x[i][1]=i
       y[i]=(i+bias)+random.uniform(0,1)%variance
      return x,y
      def gradientDescent(x,y,theta,alpha,m,numIterations):
       xTran = np.transpose(x)
      for i in range(numIterations):
       hypothesis = np.dot(x,theta)
       loss = hypothesis-y
       cost = np.sum(loss**2)/(2*m)
       gradient=np.dot(xTran,loss)/m
       theta = theta-alpha*gradient
      print ("Iteration %d | cost :%f" %(i,cost))
      return theta
      x,y = genData(100, 25, 10)  #100行,
      print ("x:")
      print (x)
      print ("y:")
      print (y)
      m,n = np.shape(x)
      n_y = np.shape(y)
      print("m:"+str(m)+" n:"+str(n)+" n_y:"+str(n_y))
      numIterations = 100000
      alpha = 0.0005
      theta = np.ones(n)
      theta= gradientDescent(x, y, theta, alpha, m, numIterations)
      print(theta)
  
 

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

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

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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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