zoukankan      html  css  js  c++  java
  • 特征选择之卡方检验

      特征选择的常用方法之一是卡方检验,作为一个filter model的代表,卡方检验属于简单易计算的Feature weight algorithm(通过一定的measure方法给特征赋上一定的weight来表征与类别之间的相关度,通过weight大于一定阈值或选取topk个weight来进行特征选择)。卡方检验和信息增益是feature weight algorithm常用且效果较优的算法。

      卡方检验是概率论与数理统计中常用的假设检验的思想:通过观察实际值和理论值的偏差来确定原假设是否成立。首先假设两个变量是独立的(此为原假设),然后观察实际值和理论值之间的偏差程度,若偏差足够小,则认为偏差是很自然的样本误差,接受原假设。若偏差大到一定程度,则否则原假设,接受备择假设。

      关于卡方检验的思想和例子,可参考:http://blog.csdn.net/fty8788/article/details/8156723

      上文中提到的例子:考察attribute词 “篮球”和类别“体育”的相关性,计算偏差的卡方值,进行特征选择。这里不再赘述。

      

    ++++++++++我是分割线++++++++++

    理解卡方检验:

    使用卡方检验时,简单代入公式即可。简单复习了一下假设检验的知识(都还给老师了,实在对不住自己……),简单总结如下,有不对之处感谢指正:

    卡方检验使用的是单个分布的卡方检验拟合法:

    对篮球的有无和体育是否这两对值分离时,假设两个是独立的,即篮球在四中情况下的分布概率(用频率近似概率)分别为:A+B/N  A+B/N   C+D/N C+D/N

    对篮球的分布是否符合上述假设进行检验:

    chi2 = sum(1 to k) n/pi (fi/n - pi)^2 ~chi(k-1)分布

    公式左边简化得到:

    chi2 = sum(1 to k) (fi - npi)^2 / npi = sum(1 to k) (fi - E)^2 / E ~chi(k-1)

    于是,卡方检验的公式由此得到。

    对以上假设进行检验时,相关了一个显著水平siglevel。显著水平表示当原假设成立时拒绝原假设的概率,是一个小概率事件的概率。

    对上述例子,if chi2 >= chi2(siglevel) 拒绝原假设,或可表示为P(chi2 >= G) = siglevel

    减少siglevel,即拒绝原假设的概率变小,G变大,即对chi2的阈值变高,必须出现一个很大的偏差才能拒绝原假设。因此可以通过调节siglevel调整拒绝原假设的卡方阈值。

    ++++++++++++碎碎念+++++

    概率论博大精深,大一上课单纯以为这只是数学知识,拿来算算概率就可以了。完全没意识到高数、概率论和线性代数与码农千丝万缕的联系,

    把教材都买回来了,希望有一天能融为一体,游刃有余吧。2014,小小加油。

  • 相关阅读:
    LeetCode 275. H-Index II
    LeetCode 274. H-Index
    LeetCode Gray Code
    LeetCode 260. Single Number III
    LeetCode Word Pattern
    LeetCode Nim Game
    LeetCode 128. Longest Consecutive Sequence
    LeetCode 208. Implement Trie (Prefix Tree)
    LeetCode 130. Surrounded Regions
    LeetCode 200. Number of Islands
  • 原文地址:https://www.cnblogs.com/changxiaoxiao/p/3522144.html
Copyright © 2011-2022 走看看