非深度学习,有哪些特征提取方案呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hujianxin
V2EX    程序员

非深度学习,有哪些特征提取方案呢?

  •  
  •   hujianxin 2016-06-06 17:12:14 +08:00 3891 次点击
    这是一个创建于 3422 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小弟最近做的一个题目,有拧螺丝过程的转角,扭矩,时间之间的曲线。想这样的数据分类,如何提取特征呢?深度学习可以自动提取特征,普通机器学习方法,对于这种非图像,非语音数据,有哪些特征提取的方式呢?

    特来求老司机带一带,不胜感激!

    8 条回复    2016-06-08 11:59:58 +08:00
    yuyang1110
        1
    yuyang1110  
       2016-06-06 17:14:57 +08:00
    这个。。。输入特征直接是那条曲线就好了。。
    zjj2008se
        2
    zjj2008se  
       2016-06-06 17:16:23 +08:00 via Android
    线性回归? k-mean 聚类?
    qcts33
        3
    qcts33  
       2016-06-06 22:55:38 +08:00
    这些有明确物理含义的数据之间一般都有明确的数学关系,这种时候我觉得手动推导一下反而更有效……
    menc
        4
    menc  
       2016-06-07 00:19:35 +08:00   4
    我不懂你的问题是什么,但是举一个差不多的例子。

    一个开在电影院旁边的奶茶店卖奶茶和果汁,让你预测明天的销量,应该怎么找特征呢?

    第一步,用脑子想,有什么因素可能影响销量呢?恩,考虑饮品销量可能不会突变,会平滑变化,那么过去几天的销量可能和明天的销量相关;恩,夏天果汁和奶茶会卖的多一些;恩,旁边电影院放大片的时候顾客多,销量会多一些;恩星期六星期日销量会多一些;法定节假日人也会多,卖的也会多一些等等等等。。。
    然后去搜集相关的数据。

    那么已知:
    今天的总销售量
    昨天的总销售量
    前天的总销售量
    今天的奶茶销售量
    今天的果汁销售量
    今天的天气(阴晴雨雪雾霾冰雹大风)
    今天是星期几
    明天是星期几
    今天是否是节假日
    明天是否是节假日
    今天电影院上映的电影过去七天的票房
    ....
    林林总总的数据。


    第二步,要把相关的特征去掉,取特征尽量取正交的特征,这样训练起来不会在 loss function 那里飘忽不定。也不会让特征有一个钦定的初始权重,假设你使用 LR 模型,选用了两个基本一样的特征,那么该特征的权重就天然是其他特征的二倍了。
    比如饮品店里,有三个特征,今日销售额,今日奶茶销售额,今日其他饮品销售额,显然今日销售额是今日奶茶销售额和其他饮品销售额的现行叠加,第一个特征和第二,第三个特征成相关性,那么就应该将其舍弃,至于舍弃特征一还是舍弃特征二三,看你的取舍咯,或者各自做一下实验看看效果。

    第三步,上一步经过选择后,得到一系列原始特征,下一步要做的是数值化。
    数值化又分这几种:
    第一种,离散的。 比如预测奶茶销售额的 case ,明天是星期几可能非常影响销售量,星期六星期日最高,星期一星期五次之,星期二到星期四最低,那么可以采用 one hot representation 的方式,把 weekday 拆分成一个 7 维的向量,明天是星期几就在星期几置 1 ,比如明天是星期日,那么 weekday 特征就是[0,0,0,0,0,0,1]七维。
    第二种, scale 非常大的数值特征,但又不能舍弃的。比如假设淡季每天只卖 1k 元,节假日每天能卖 20k 元,而一般的时候能卖 10k ,那么这个特征的范围就过大,在 normalization 中会大大影响特征的表示能力,会影响特征的权重。这时候应该做的是,将特征拆分开,即使特征是连续的。
    那么销售额就拆分成一个 n 维的 01 特征: 0-4k,4-8k,8-12k,12-16k,16-20k;然后每一个销售额都是一个五维向量,当然你也可以分得更细,不要害怕, LR 模型里面几万维度都有可能。
    比如一个 17k 的销售额,特征向量就是[0,0,0,0,1]五维。
    第三种,很平凡的数值特征, scale 也不太大,比如门口过路的游客数量,如果固定在 10k-20k ,且分布均匀,就可直接当数值特征。

    第四步,现在你拥有了一系列的数值特征,我们大可以抽象掉他们,叫特征 1 ,特征 2 ,特征 3 , f4, f5...
    f1:1800
    f2:[0,0,0,0,0,0,1]
    f3:[0,0,0,1,0]
    f4:2k
    ...

    下一步要做的是 normalization ,用脚趾想想值为 1800 的特征对结果的贡献是值为 1 的特征的一千八百倍,而 1800 在这个特征中可能表示一个非常弱的结果(比如游客数量,日均 5k ,今天只有 1k8 ),我们要尽量缩小这种特征表示上的差距,而让对结果的贡献显示在特征本身的含义和特征的权重上,而不让数值来影响,这个就叫做 normalization ,

    对每个数值特征(就是还没被打散的特征),取所有数据中最大和最小的,然后映射到[0,1]区间内,[-1,1]也可以,[-0.5-0.5]也能接受,总之就是一个小区间内,让数值特征的数量级和其他数值特征大致等同。

    那么现在,你可能得到了
    f1:0.18
    f2:[0,0,0,0,0,0,1]
    f3:[0,0,0,1,0]
    f4:0.66


    第五步,拉伸成一个特征向量( f1,f2,f3,f4,f5)
    [0.18,0,0,0,0,0,0,1,0,0,0,1,0,0.66]

    这个就是你的输入特征咯,特征工程到此结束,下一步训练模型。

    不论是分类还是回归,都是这么个路数,分类和回归的区别就是放的模型不一样。
    你要用 LR 或者 SVM ,就放到 LR 或者 SVM 中,要是 DART 就放到 DART 中,特征都是一样的。
    hujianxin
        5
    hujianxin  
    OP
       2016-06-07 09:17:29 +08:00
    @menc 多谢回复,非常收益
    heliumhgy
        6
    heliumhgy  
       2016-06-07 11:37:13 +08:00
    传统方法中,特征工程是很重要的一个过程,一般都是手工构造特征。
    SlipStupig
        7
    SlipStupig  
       2016-06-07 12:34:52 +08:00
    @menc 大神能留个联系方式么,想跟你交流一些问题
    menc
        8
    menc  
       2016-06-08 11:59:58 +08:00
    @SlipStupig
    在这里说就好了,没事的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 19:18 PVG 03:18 LAX 12:18 JFK 15:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86