机器学习经典算法之(二十三) 随机梯度下降法

本文介绍了随机梯度下降法的基本思路和实现原理,包括如何通过随机选取样本进行参数更新以加快算法速度,同时提供了Python代码示例。此外,还展示了在sklearn库中如何应用SGDClassifier进行随机梯度下降法的分类任务。
摘要由CSDN通过智能技术生成

(一)  随机梯度下降法:

    上一篇博文,已经介绍了梯度下降算法。在实际中,为了实现梯度下降,往往分为随机梯度下降法和批量梯度下降法。

    随机梯度下降法基本思路:

    for j in range(j):

    对于每一次更新参数,不必遍历所有的训练集合,仅仅使用了一个数据,来变换一个参数。这样做不如完全梯度下降的精确度高,可能会走很多弯路,但整体趋势是走向minmum。

这样做可以节省更多的时间,算法更快。

   (二)  实现原理(参考《机器学习实战》)

from numpy import *

def loadDataSet():

   dataMat = []; labelMat = []

   fr = open('testSet.txt')

   for line in fr.readlines():

       lineArr = line.strip().split()

       dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])])

       labelMat.append(int(lineArr[2]))

   return dataMat,labelMat

def stoc

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值