深度学习实战之线性回归

1、线性回归

连续值的预测,目的使模型的预测值逼近于真实值

在这里插入图片描述

在训练模型中,函数参数w,b往往是不可知的,所以需要对其进行求解
在这里插入图片描述

  1. 构造一个loss函数,使得误差函数取得最小值,得到的w’、b’即为模型要求的参数
    在这里插入图片描述
  2. 求loss函数的最小值,通过梯度下降的方法找到函数极小值
    在这里插入图片描述
    2、回归问题实战
    在这里插入图片描述
  • step1代码部分:
import numpy as np
# y = wx + b
def compute_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]
        # computer mean-squared-error
        totalError += (y - (w * x + b)) ** 2
    # average loss for each point
    return totalError / float(len(points))

在这里插入图片描述

  • step2代码部分:
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]
        # grad_b = 2(wx+b-y)
        b_gradient += (2/N) * ((w_current * x + b_current) - y)
        # grad_w = 2(wx+b-y)*x
        w_gradient += (2/N) * x * ((w_current * x + b_current) - y)
    # update w'
    new_b = b_current - (learningRate * b_gradient)
    new_w = w_current - (learningRate * w_gradient)
    return [new_b, new_w]

猜你喜欢

转载自blog.csdn.net/minijump/article/details/107772882