博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习算法选择——特征提取
阅读量:6341 次
发布时间:2019-06-22

本文共 1154 字,大约阅读时间需要 3 分钟。

第4步:特征工程

或许比选择算法更重要的是正确选择表示数据的特征。从上面的列表中选择合适的算法是相对简单直接的,然而特征工程却更像是一门艺术。

主要问题在于我们试图分类的数据在特征空间的描述极少。利如,用像素的灰度值来预测图片通常是不佳的选择;相反,我们需要找到能提高信噪比的数据变换。如果没有这些数据转换,我们的任务可能无法解决。利如,在方向梯度直方图(HOG)出现之前,复杂的视觉任务(像行人检测或面部检测)都是很难做到的。

虽然大多数特征的有效性需要靠实验来评估,但是了解常见的选取数据特征的方法是很有帮助的。这里有几个较好的方法:

  • 主成分分析(Principal component 

    analysis,PCA):一种线性降维方法,可以找出包含信息量较高的特征主成分,可以解释数据中的大多数方差。

  • 尺度不变特征变换(Scale-invariant feature 

    transform,SIFT):计算机视觉领域中的算法,用以检测和描述图片的局部特征。它有一个开源的替代方法 
    ORB(Oriented FAST and rotated BRIEF)。

  • 加速稳健特征(Speeded up robust features,SURF):SIFT 的更稳健版本。

  • 方向梯度直方图(Histogram of oriented 

    gradients,HOG):一种特征描述方法,在计算机视觉中用于计数一张图像中局部部分的梯度方向的发生。

  • 更多算法请参考:

当然,你也可以想出你自己的特征描述方法。如果你有几个候选方法,你可以使用封装好的方法进行智能的特征选择。

前向搜索:

  • 最开始不选取任何特征。

  • 然后选择最相关的特征,将这个特征加入到已有特征;计算模型的交叉验证误差,重复选取其它所有候选特征;最后,选取能使你交叉验证误差最小特征,并放入已选择的特征之中。

  • 重复,直到达到期望数量的特征为止!

反向搜索:

  • 从所有特征开始。
  • 先移除最不相关的特征,然后计算模型的交叉验证误差;对其它所有候选特征,重复这一过程;最后,移除使交叉验证误差最大的候选特征。
  • 重复,直到达到期望数量的特征为止!

使用交叉验证的准则来移除和增加特征!

第5步:超参数优化(可选)

最后,你可能想优化算法的超参数。例如,主成分分析中的主成分个数,k 近邻算法的参数 k,或者是神经网络中的层数和学习速率。最好的方法是使用交叉验证来选择。

一旦你运用了上述所有方法,你将有很好的机会创造出强大的机器学习系统。但是,你可能也猜到了,成败在于细节,你可能不得不反复实验,最后才能走向成功。

本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6517929.html,如需转载请自行联系原作者

你可能感兴趣的文章
Distributed2:Linked Server Login 添加和删除
查看>>
Java中取两位小数
查看>>
使用 ftrace 调试 Linux 内核【转】
查看>>
唯一聚集索引上的唯一和非唯一非聚集索引
查看>>
Spark新愿景:让深度学习变得更加易于使用——见https://github.com/yahoo/TensorFlowOnSpark...
查看>>
linux磁盘配额
查看>>
NFS文件共享服务器的搭建
查看>>
IP_VFR-4-FRAG_TABLE_OVERFLOW【cisco设备报错】碎片***
查看>>
Codeforces Round #256 (Div. 2) D. Multiplication Table 【二分】
查看>>
ARM汇编指令格式
查看>>
HDU-2044-一只小蜜蜂
查看>>
HDU-1394-Minimum Inversion Number
查看>>
[转] createObjectURL方法 实现本地图片预览
查看>>
JavaScript—DOM编程核心.
查看>>
JavaScript碎片
查看>>
Bootstrap-下拉菜单
查看>>
soapUi 接口测试
查看>>
【c学习-12】
查看>>
工作中MySql的了解到的小技巧
查看>>
loadrunner-2-12日志解析
查看>>