Bobo老师机器学习笔记第六课-梯度下降法在线性回归中的应用

在上一篇博客中大概介绍了一下梯度下降法,那么梯度下降法在线性回归中如何更好的应用了,本篇博客做一介绍。

在BoBo老师的课程中,梯度下降法主要讲了2中,批量梯度下降法(Batch Gradient Descent)和随机梯度下降法(Stochastic Gradient Descent)。 

一、理论介绍

1、批量梯度下降法(Batch Gradient Descent)

损失函数以及未使用向量化的方程:

进行向量化后的梯度方程:

从上图方程中可以看出,每一次求theta的值都要把所有的样本遍历一遍,所以这是为什么成为批量梯度下降法。

2、随机梯度下降法(Stonastic Gradient Descent)

损失函数不变,但计算计算梯度的方法如下:

从上图的公式可以看出,计算梯度是随机取出其中一个样本进行计算的。此外还要注意学习率的区别:

a一般取5,b为50,i_iters表示当前迭代的次数。 而这个值在批量梯度学习算法中是一个常量,一般是0.01 

二、在线性回归中的应用

# -*- coding: utf-8 -*-
import numpy as np
from metrics import r2_score


class LinearRegression(object):
    def __init__(self):
        self.coef_ = None  # 表示系数
        self.intercept_ = None  # 表示截距
        self._theta = None  # 过程计算值,不需要暴露给外面

    def fit_normal(self, X_train, y_train):
        """根据训练数据集X_train, y_train, 利用正规方程进行训练Linear Regression模型,利用正规方程训练的时候就不需要对数据进行向量化"""
        assert X_train 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值