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

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函数最优值

(0)

相关推荐

  • 从零开始,用Python徒手写线性回归

    关键时间,第一时间送达! 转自:机器之心 先放下 Scikit-learn,我们来看一看真正的技术. 对于大多数数据科学家而言,线性回归方法是他们进行统计学建模和预测分析任务的起点.这种方法已经存在了 ...

  • 牛顿法的关键点

    牛顿法的关键点 牛顿法利用了函数的一阶和二阶导数信息,直接寻找梯度为0的点.牛顿法的迭代公式为: 其中H为Hessian矩阵,g为梯度向量.牛顿法不能保证每次迭代时函数值下降,也不能保证收敛到极小值点 ...

  • 梯度下降法的关键点

    梯度下降法的关键点 梯度下降法沿着梯度的反方向进行搜索,利用了函数的一阶导数信息.梯度下降法的迭代公式为: 根据函数的一阶泰勒展开,在负梯度方向,函数值是下降的.只要学习率设置的足够小,并且没有到达梯 ...

  • 梯度下降法的三种形式BGD、SGD以及MBGD

    阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. 总结 在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练.其实,常用的梯度下降法 ...

  • 梯度下降法 数学家澄清了现代应用中最重要的算法的本质

    majer @ 2021.08.24 , 16:39 现代应用研究的许多方面都依赖于一种叫做梯度下降的关键算法.这是一个通常用于寻找特定数学函数的最大或最小值的程序--过程被称为优化函数.它可以用来计 ...

  • 如何理解梯度下降法?

    梯度下降法是用来计算函数最小值的.它的思路很简单,想象在山顶放了一个球,一松手它就会顺着山坡最陡峭的地方滚落到谷底: 凸函数图像看上去就像上面的山谷,如果运用梯度下降法的话,就可以通过一步步的滚动最终 ...

  • 利用几何画板巧妙迭代激光在肥皂泡中的光路

    应网友们的要求,今天推送一则几何画板迭代案例,以激光在肥皂泡内的传播为例,介绍一下迭代的用法. 在几何画板中的"图表"菜单中调出坐标系,隐藏网格:以原点O为圆心,以任一点A和B分别 ...

  • 利用几何画板的迭代原理构建常用积分模型

    利用几何画板的迭代原理构建常用积分模型

  • RL之PG:基于TF利用策略梯度算法玩Cartpole游戏实现智能得高分

    RL之PG:基于TF利用策略梯度算法玩Cartpole游戏实现智能得高分 输出结果 视频观看地址:强化学习-基于TF利用策略梯度算法玩Cartpole游戏实现智能得高分 设计思路 测试过程 Episo ...

  • 用Excel体验梯度下降法

    公众号后台回复"图书",了解更多号主新书内容 作者:气象学渣 来源:气象学渣 梯度下降法是目前神经网络训练过程中最为核心的算法之一,配合链式求导可实现误差在神经网络中的反向传播,更 ...

  • 面试题:技术更新迭代,你通常如何学习新技术

    当互联网时代降临,一切事物的更新迭代速度都变快了许多,互联网加速了各行各业万事万物的更新速率,所以作为人的我们自然也是不能落后于技术的.所以,作为一个软件工程师的话,到底应该如何学习新技术呢? 首先, ...