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,ydef 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)/mtheta = theta-alpha*gradient print ("Iteration %d | cost :%f" %(i,cost))return thetax,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函数最优值

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

  1. 机器学习-算法-有监督学习:EM(最大期望值算法)<=> MLE(最大似然估计法)【关系类似“梯度下降法”<=>“直接求导法”】【EM“梯度下降”:先初始化一个随机值,然后通过迭代不断靠近真实值】

    机器学习-算法-有监督学习:EM(最大期望值算法)<=> MLE(最大似然估计法)[关系类似"梯度下降法"<=>"直接求导法"][EM& ...

  2. Mini batch梯度下降法(吴恩达深度学习视频笔记)

    深度学习并没有在大数据中表现很好,但是我们可以利用一个巨大的数据集来训练神经网络,而在巨大的数据集基础上进行训练速度很慢,因此进行优化算法能够很大程度地增加训练速度,提升效率. 本节,我们将谈谈Min ...

  3. 【Machine Learning 六】梯度下降法(基于Matlab 求函数最小值)

    算法原理 梯度下降法是一个最优化算法,可以用来求一个函数的最小值,最大值等,也常用于人工神经网络中更新各个感知器之间的权值,求出cost function的最小值等,应用广泛.  其原理简单,就求函数 ...

  4. 使用牛顿迭代的方法求出方程的实根(MATLAB)

    <计算方法>有一题使用牛顿迭代求解方程实根的题目. 查阅资料,发现判断方程有几个实根的方法太复杂,为了有效求出方程的实根,可以每次使用牛顿迭代求出一个根"p"后,将原方 ...

  5. 回归与梯度下降法及实现原理

    回归与梯度下降 回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally we ...

  6. 机器学习之数学系列(二)梯度下降法(参数更新公式的由来)

    一.引言 下山问题   如下图所示,假设我们位于黄山的某个山腰处,山势连绵不绝,不知道怎么下山.于是决定走一步算一步,也就是每次选个方向往山下走一步,这样一步一步走下去,一直走到觉得我们已经到了山脚. ...

  7. ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)

    引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等,主要学习资料来自网上的免费课程和一些经典书籍,免费课 ...

  8. 利用梯度下降法实现线性回归--python实现

    利用梯度下降法代替最小二乘法,求线性回归方程. 首先引用库 import numpy as np import matplotlib.pyplot as plt 定义相应的x和y np.random. ...

  9. 机器学习知识点(五)梯度下降法Java实现

    梯度下降法,就是利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代(步长)能使待优化的目标函数逐步减小.梯度下降法是2范数下的最速下降法,用来求解函数的最小值,无约束优化. 看数学定义都晦涩,网 ...

最新文章

  1. linux跨主机复制文件
  2. 团队-团队编程项目作业名称-模块测试过程
  3. pymongo insert_many 批量插入
  4. 机器学习笔记GBDT(一):原理
  5. BZOJ4001[TJOI2015]概率论——卡特兰数
  6. linux shell加密压缩,linux的shell指令进行压缩或者解压缩
  7. 作者:王长波,华东师范大学教授、博士生导师、软件学院常务副院长。
  8. spring boot security ajax_Spring-Boot-应用可视化监控
  9. asp ado 连接测试_ASP.NET Core 简介
  10. oracle会计事件,新的一年打开会计期发生错误
  11. Hibernate一级缓存、二级缓存以及查询缓存的关系
  12. java 第三方jar推荐_java 开发第三方Jar包
  13. Spring-Aop及jdbc总结
  14. 周问题回复-滤波器-锁相环BL参数及环路滤波器参数问题
  15. Bootstrap3 下拉菜单(Dropdown)
  16. 让你百分百玩转抖音!
  17. FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning(论文翻译)
  18. 我怀疑京东神秘部门Y,悟出智能供应链真相了
  19. 【计算机组成原理】计算机组成原理——概述篇
  20. 软件测试用例设计之Pairwise算法

热门文章

  1. Javascript 面向对象编程(一)
  2. 3-unit1 IPv6网络的管理
  3. NDArray自动求导
  4. 大数据陷阱:谁有权享有大数据,谁有权分析大数据
  5. asp获取屏幕分辨率
  6. 灰鸽子木马的原理和清除方法
  7. Spring 异步调用,一行代码实现!舒服,不接受任何反驳~
  8. 你确定你真的喜欢编程吗??
  9. 谷歌和 Facebook 是如何给工程师定职级和薪水的?
  10. 看看这些大龄程序员都做了些什么