0%

Aggomerative 聚类

所有观测对象先以自己为群组,满足特定准则的对象汇聚在一起。重复这个过程,群组不断增大,直到某个端点饱和。

Read more »

  1. 分配给每个观测样本$X_i$一个初始权重$W_i$。$W_i=\frac{1}{n}$,其中$n$为样本总数
  2. 训练一个“弱模型”(常用决策树)
  3. 对于每一个测试样本 3.1 如果预测错误, $W_i$上涨(给一个较大的惩罚力度) 3.2 如果预测正确, $W_i$下降
  4. 训练一个新的“弱模型”,其中权重较大的样本优先级越高
  5. 重复步骤3, 4 直至所有样本被完美进行预测。或决策树的分支和样本规模一样

$A_{cc}=\frac{1}{n}\sum{I(\hat{y}_i=y_i)}$

分类任务中常用的指标,用于度量分类的准确度。
对于给定一组数据的一系列测量,当$y_i$的预测值于$y_i$相等时,指数函数取1,不相等取0。
在类别严重不均等的时候,使用F1值更好。

Read more »

如果你的学习算法存在着高方差,则可以尝试下面的技术:
• 添加更多的训练数据:这是最简单也是最可靠的一种方式来处理方差,只要你能访问大量的数据并有足够的计算能力来处理它们。
• 加入正则化(L2 正则化,L1 正则化,dropout):这项技术可以降低方差,但却增大了偏差。
加入提前终止(比如根据开发集误差提前终止梯度下降):这项技术可以降低方差但却增大了偏差。提前终止(Early stopping)有点像正则化理论,一些学者认为它是正则化技术之一。
• 通过特征选择减少输入特征的数量和种类:这种技术可能有助于解决方差问题,但也可能增加偏差。稍微减少特征的数量(比如从 1000 个特征减少到 900 个)不太可能会对偏差产生很大的影响,但显著地减少它们(比如从 1000 个特征减少到 100 个,10 倍地降低)则很有可能产生很大的影响,你可能排除了太多有用的特征。在现代深度学习中,当数据充足时,特征选择的比重就有所改变,现在我们更有可能将拥有的所有特征提供给算法,并让算法根据数据来确定哪些特征可以使用。但当你的训练集很小的时候,特征选择是非常有用的。
• 减小模型规模(比如神经元/层的数量):谨慎使用。这种技术可以减少方差,同时可能增加偏差。然而我不推荐这种处理方差的方法,添加正则化通常会提供更好的分类性能。 减少模型规模的好处是降低了计算成本,从而加快了你对模型进行训练的速度。如果加速模型训练是有用的,那么无论如何都要考虑减少模型的规模。但如果你的目标是减少方差,并且不关心计算成本,那么考虑添加正则化会更好。
下面是两种额外的策略,和解决偏差问题章节所提到的方法重复:
根据误差分析结果修改输入特征:假设误差分析的结果鼓励你创建额外的特征,从而帮助算法消除某个特定类别的误差。这些新的特征对处理偏差和方差都有所帮助。理论上,添加更多的特征将增大方差;然而当你发现这种情况时,加入正则化,这可以消除方差的增加。
修改模型架构(比如神经网络架构)使之更适用于你的问题:这项技术将同时影响偏
差和方差。

你的算法必须在训练集上表现得很好,才能期望它在开发集和测试集上能够有着良好的表现。除了先前提到的用于处理高偏差的技术外,我通常也会在训练数据上进行误差分析,处理方式类似于在开发集上设置一个 Eyeball 开发集。当你的算法有着高偏差时(例如算法没有很好拟合训练集的时候)这将有所帮助。

举个例子,假设你正在为一个应用程序构建一个语音识别系统,并收集了一组志愿者的音频片段。如果系统在训练集上表现不佳,你可能会考虑以约 100 个算法处理得很差的样本作为一组并人为去听它们,从而知道训练集误差的主要种类。类似于开发集上的误差分析,你可以计算不同类别的错误样本数量:

Read more »

阿里开放了一本描述强化学习在实践中应用的书籍《强化学习在阿里的技术演进与业务创新》,这本书重点描述了阿里巴巴在推动强化学习输出产品及商业化的实践过程。例如在在搜索场景中对用户的浏览购买行为进行 MDP 建模、在推荐场景中使用深度强化学习与自适应在线学习帮助每个用户迅速发现宝贝、在智能客服中赋予阿里蜜这类的客服机器对应的决策能力、在广告系统中实现了基于强化学习的智能调价技术,因而根据顾客的当前状态去决定如何操作调价。

Read more »

你可能听说过“偏差和方差之间的权衡”。在你对大部分学习算法进行修改的时候,有些方法可以减少偏差,但是代价是增加了方差,反之亦然,这就在偏差和方差之间产生了“权衡”。

例如,增加模型的大小(在神经网络中添加神经元/层,或增加输入特征),通常可以减少偏差,但可能会增加方差。另外,增加正则化一般会增加偏差,但是可能会减少方差。

Read more »