随机梯度下降(SGD)分类器和回归器

SGD主要应用在大规模稀疏数据问题上,经常用在文本分类及自然语言处理。假如数据是稀疏的,该模块的分类器可轻松解决如下问题:超过10^5 的训练样本、超过 10^5 的features。利用梯度来求解参数。

http://scikit-learn.org/stable/supervised_learning.html#supervised-learning
再看sklearn的官网的时候看到这么一部分

image.png

随机梯度下降分类器和回归器,还在奇怪,随机梯度下降难道不是一种求解参数的方法,难道可以用来做分类和回归?问了老公,他也不清楚,然后在网上搜搜资料,自己看看源码里怎么说的。
原来,随机梯度下降分类器并不是一个独立的算法,而是一系列利用随机梯度下降求解参数的算法的集合。

SGDClassifier(分类):

入参:

loss:损失函数,str,default: 'hinge',默认 'hinge',表示线性SVM(linearSVM)。The possible options are 'hinge', 'log', 'modified_huber',
'squared_hinge', 'perceptron', or a regression loss: 'squared_loss', 'huber', 'epsilon_insensitive', or 'squared_epsilon_insensitive'。
'log',表示逻辑回归(logistic regression)
'modified_huber'表示另一种平滑的损失函数,它带来了对异常点和概率估计的容忍。
'squared_hinge'和hinge类似,但是它的惩罚项是平方。
'perceptron' 是感知算法使用的线性损失函数。
还有一些其他的损失函数,被设计用作回归,但是也可以用作分类。详情参见SGDRegressor的相关描述。

penalty:惩罚项(也就是正则化项)。str。可选项为'none', 'l2', 'l1', or 'elasticnet'。默认'l2',它是线性SVM模型的标准化正则项。“l1”和“elasticnet”可能会给模型(特征选择)带来稀疏性,而“l2”是无法实现的。

alpha : float,乘以正则化项的常数,默认0.0001,当设置为'optimal'时,也可以用来计算学习率。

l1_ratio : float,弹性网络的混合参数,0 <= l1_ratio <= 1。当l1_ratio=0时,相当于L2惩罚项。l1_ratio=1时,为L1惩罚项。默认0.15.

fit_intercept : bool,是否对截距进行估计。如果是False, 则认为数据已经处于中心了,默认为True.

max_iter : int, optional,可选。训练数据的最大传递次数(也称为epochs)。它只会影响fit方法的行为,而不影响 partial_fit。默认为5(0.19版本)。在0.21版本中,默认为1000,或者tol不是None.

tol : float or None, optional,可选。停止准则。如果非None,当(loss > previous_loss - tol)时,迭代就会停止。默认为None(0.19版本)。在0.21版本中,默认为1e-3。

shuffle : bool, optional,可选。训练数据是否在每个epoch之后被重新洗牌(shuffle)默认为True。

verbose : integer, optional,可选。冗余的水平。

epsilon : float,epsilon-敏感损失函数中的Epsilon,仅当 loss为'huber', 'epsilon_insensitive','squared_epsilon_insensitive'时。对于'huber'来说,确定阈值对于确定预测的准确性已经没有那么重要了。对于'epsilon_insensitive'来说,如果它们小于这个阈值,那么当前预测和正确标签之间的任何差异都会被忽略。

n_jobs : integer, optional,可选。计算机用于OVA (One Versus All, for multi-class problems) 的计算线程数。. -1 表示 'all CPUs'. 默认1.

random_state:和其他算法一样,随机种子。

learning_rate : string, optional,可选。学习率。
- 'constant': eta = eta0
- 'optimal': eta = 1.0 / (alpha * (t + t0)) [default]
- 'invscaling': eta = eta0 / pow(t, power_t)

eta0 : double,当learning_rate为'constant'或者'invscaling'时的初始学习率。默认值为0.0。如果learning_rate='optimal'则这个参数没有用。

power_t : double。逆缩放学习率的指数[默认值0.5 ]

class_weight:dict(字典), {class_label: weight} or "balanced" or None, optional,可选参数。为class_weight拟合参数而预设。权重和类别有关系。如果不给定的话,所有的类别的权重都被设定为1。在"balanced" 模式下,将利用y的值,自动调整权重,和类别的频率成反比。
n_samples / (n_classes * np.bincount(y))

warm_start : bool, optional,布尔型,可选,热启动。当设置为true时,将重用之前调用的结果来拟合作为初始化的值。否则将擦除之前调用的结果。

average : bool or int, optional布尔型或int型,可选。当设置为true时,计算SGD权重的均值,并将结果存储在coef_ 属性中。如果设置为比1大的int型,当样本的总数大于average设定的这个数是,求平均的过程将会开始。比如 average=10将会在10个样本后开始平均。

可调用的属性:

coef_ : array, shape (1, n_features) if n_classes == 2 else (n_classes,
n_features)各个feature被分配给的权重。

intercept_ : array, shape (1,) if n_classes == 2 else (n_classes,)截距,决策函数中的常数。

n_iter_ : int,达到停止标准的实际迭代次数。对于多分类拟合来说,它是每一个二元拟合的最大值。

loss_function_ : 具体的损失函数 LossFunction

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容