首先,alpha的确定如果太小,一步一步走的太慢
:
如果取得太大,容易跨过最小(最大)值,造成震荡:

所以最合适的是取一个变化的量,逐步逼近:

另外,当数据过大时,使用全批量会计算所有数据,复杂度太高,其实这种算法大约计算一百个左右就可确定,所以改进全批量为随机:
import numpy as np
import matplotlib.pyplot as plt
import random
"""装载函数"""
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
"""Sigmoi

本文探讨了在Logistic回归中如何选择合适的Alpha参数,指出Alpha值过大或过小可能带来的问题,并提出采用变化的Alpha值逐步逼近最优解。此外,针对大数据集,文章建议改进全批量计算,转而使用随机采样,降低计算复杂度。
最低0.47元/天 解锁文章
4038

被折叠的 条评论
为什么被折叠?



