2.简单回归问题

回归问题

引入

在这里插入图片描述

优化

在这里插入图片描述
通过样本wx1+b、y1,wx2+b、y2等,可推测出一个(w,b)使得对于任一个xn,预估一个yn,这就是我们的目的。
叫成梯度下降的原因可能是,寻找最小值时采用导数的方法,也就是求梯度,高数中先使导数(梯度)为0时,然后再判断此点是否是极值点,最后找到最小值点。

线性回归

整个预测的取值范围是连续的。

逻辑回归

在线性回归的基础上增加了激活函数(压缩函数),例如预测值在0-1的问题。
例如ReLU函数:
R(z)=max(0,z)
在这里插入图片描述

分类

经典案例是MNIST数据集识别

回归问题实战

points数据集:
在这里插入图片描述

在这里插入图片描述

def computer_error_for_line_given_points(b,w,points):
    totalError = 0
    for i in range(0,len(points)):
        x = points[i,0]
        y = points[i,1]
        totalError += (y - (w * x + b))**2
    return totalError/ float(len(points))

在这里插入图片描述

def step_gradient(b_current,w_current,points,learningRate):
    b_gradient = 0
    w_gradient = 0
    N = float(len(points))
    for i in range(0,len(points)):
        x = points[i, 0]
        y = points[i, 1]
        b_gradient += (2/N) * ( w_current * x + b_current - y)
        w_gradient += (2/N) * x * ( w_current * x + b_current - y)
    new_b = b_current - (learningRate * b_gradient)
    new_w = w_current - (learningRate * w_gradient)
    return [new_b,new_w]

在这里插入图片描述
优化:

def gradient_descent_ruuner(points,starting_b,starting_w,learning_rate,num_iterations):
    b = starting_b
    w = starting_w
    for i in range(num_iterations):
        b,w = step_gradient(b,w,np.array(points),learning_rate)
    return [b,w]

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值