【课程作业经验】基于MindSpore的梯度下降实验

基于mindspore的梯度下降实验

基于机器学习实践课程完成的相关使用mindspore深度学习框架完成的任务,写一些分享心得。

数据准备

使用numpy生成数据,之后使用mindspore的tensor进行转换:

x = np.array([55,71,68,87,101,87,75,78,93,73])
y = np.array([91,101,87,109,129,98,95,101,104,93])

x = Tensor(x.astype(np.float32))
y = Tensor(y.astype(np.float32))
复制

解析解

def ols_algebra(x, y):
    '''
    解析解
    '''
    n = len(x)
    w1 = (n*sum(x*y) - sum(x)*sum(y)) / (n*sum(x*x) - sum(x)*sum(x))
    w0 = (sum(x*x)*sum(y) - sum(x)*sum(x*y)) / (n*sum(x*x) - sum(x)*sum(x))

    return w1,w0
复制

梯度下降解

def ols_gradient_descent(x,y,lr,num_iter):
    '''
    梯度下降解
    '''
    w1 = 0
    w0 = 0
    for i in range(num_iter):
        y_hat = (w1 * x)+ w0
        w1_gradient = -2 * sum(x*(y-y_hat))
        w0_gradient = -2*sum(y-y_hat)
        w1 -
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值