2022.11月
P ( ∣ v − μ ∣ > ϵ ) < = e − 2 ϵ 2 N P(|v-\mu|> \epsilon) <= e^{-2\epsilon^2N} P(∣v−μ∣>ϵ)<=e−2ϵ2N
其中 v , μ , ϵ , N v, \mu, \epsilon, N v,μ,ϵ,N分别是预测概率,实际概率,误差和样本数
对于非对称属性,只有存在–非零属性值–才被认为是重要的。
3.3.1 相关性分析
卡方计算
x 2 = ∑ ( A − T ) 2 T x^2=\sum{\frac{(A-T)^2}{T}} x2=∑T(A−T)2
A为实际值,T为理论值
The larger the Χ2 value, the more likely the variables are related
3.3.2 相似性计算
决策树学习的关键在如何选择最优划分属性。一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别, 即结点的 “纯度”(purity)越来越高。(贪心划分策略)
基尼系数
G I N I ( t ) = 1 − ∑ j [ p ( j ∣ t ) ] 2 GINI(t) = 1 - \sum_{j}[p(j|t)]^2 GINI(t)=1−∑j[p(j∣t)]2
[ p ( j ∣ t ) ] [p(j|t)] [p(j∣t)]是节点t第j个类的占比
如果分成了k个孩子
熵
E n t r o p y ( t ) = − ∑ j p [ j ∣ t ] l o g 2 p [ j ∣ t ] Entropy(t)=-\sum_{j}p[j|t]log_2p[j|t] Entropy(t)=−∑jp[j∣t]log2p[j∣t]
信息增益
因为信息与熵大小相等意义相反,所以消除了多少熵就相当于增加了多少信息,这就是信息增益的由来。
母节点p,被划分为k个子类
G A I N = E n t r o p y ( p ) − ∑ i n i / n E n t r o p y ( i ) GAIN = Entropy(p) - \sum_{i}n_i/n Entropy(i) GAIN=Entropy(p)−∑ini/nEntropy(i)
取最大信息增益进行划分
信息增益率
分类误差
E r r o r ( t ) = 1 − m a x i [ P ( i ∣ t ) ] Error(t) = 1-max_i[P(i|t)] Error(t)=1−maxi[P(i∣t)]
留一法:每次只留下一个样本做测试集,其它样本做训练集,如果有k个样本,则需要训练k次,测试k次。
留一法计算最繁琐,但样本利用率最高。适合于小样本的情况。
K-折交叉验证:将全部训练集 S分成 k个不相交的子集,轮流拿出一个作为测试集,其它k-1个作为训练集,计算k次求得的分类率的平均值,作为该模型或者假设函数的真实分类率。
这个方法充分利用了所有样本。但计算比较繁琐,需要训练k次,测试k次。
i f , l o s s = 1 / 2 ∑ d ∈ D ( t d − O d ) 2 , t h e n , Δ w i = l r ∗ ∑ d ( t d − O d ) x i , d if , loss = 1/2 \sum_{d \in D}(t_{d} - O_{d})^2,then ,\Delta w_i = lr * \sum_d(t_d - O_d)x_{i,d} if,loss=1/2∑d∈D(td−Od)2,then,Δwi=lr∗∑d(td−Od)xi,d
反向传播算法(Backpropagation)
极大后验概率假设(Maximum A Posteriori (MAP) hypothesis)
h M A P = a r g h ∈ H m a x P ( h ∣ D ) = a r g h ∈ H P ( D ∣ h ) P ( h ) h_{MAP} = arg_{h \in H } max P(h|D) = arg_{h \in H} P(D|h)P(h) hMAP=argh∈HmaxP(h∣D)=argh∈HP(D∣h)P(h)
极大似然假设(Maximum Likelihood (ML) hypothesis)
如果假设空间H中所有假设h的先验概率相等,则MAP变为极大似然假设
h M A P = a r g h ∈ H P ( D ∣ h ) h_{MAP} = arg_{h \in H} P(D|h) hMAP=argh∈HP(D∣h)
模型复杂度与拟合度的一个折衷
Minimum Description Length Principle,由模型(假设)复杂度和错误率之后来描述:
h M D L = a r g h ∈ H m i n [ L C 1 ( h ) + L C 2 ( D ∣ h ) ] h_{MDL} = arg_{h \in H} min [L_{C_1}(h) + L_{C_2}(D|h)] hMDL=argh∈Hmin[LC1(h)+LC2(D∣h)]
所有假设的后验概率加权到得新实例的分类
设V为所有可能分类结果的集合
a r g v i ∈ V m a x ∑ h i ∈ H P ( v i ∣ h i ) P ( h i ∣ D ) arg_{v_i \in V} max \sum_{h_i \in H}P(v_i | h_i) P(h_i | D) argvi∈Vmax∑hi∈HP(vi∣hi)P(hi∣D)
当假设空间巨大的时候,贝叶斯最优分类器在计算上是不可行的
采用采样的方法进行解决上述问题(Gibbs Algorithm采样假设h)
朴素贝叶斯算法基于最大后验概率假设(MAP),并假设所有属性值独立于分类目标,简化贝叶斯最优分类器
一个实例 x = < a 1 , a 2 , … , a n > x=
v M A P = a r g v j ∈ V m a x P ( v j ∣ a 1 , a 2 , … , a n ) = a r g v j ∈ V m a x P ( a 1 , a 2 , . . . , a n ∣ v j ) ∗ P ( v j ) P ( a 1 , a 2 , . . . , a n ) v_{MAP} = arg_{v_j \in V} max P(v_j | a_1,a_2,…,a_n) = arg_{v_j \in V} max \frac{P(a_1,a_2,...,a_n|v_j)*P(v_j)}{P(a_1,a_2,...,a_n)} vMAP=argvj∈VmaxP(vj∣a1,a2,…,an)=argvj∈VmaxP(a1,a2,...,an)P(a1,a2,...,an∣vj)∗P(vj)
假设属性值 < a 1 , a 2 , … , a n >
进而得到朴素贝叶斯分类器(Naive Bayes classifier)为:
v N B = a r g v i ∈ V m a x P ( v j ) ∏ i = 1 n P ( a i ∣ v j ) v_{NB} = arg_{v_i \in V} max P(v_j) \prod_{i=1}^n P(a_i|v_j) vNB=argvi∈VmaxP(vj)∏i=1nP(ai∣vj)
朴素贝叶斯的假设十分理想,贝叶斯网络(信念)则将该假设弱化为无边连接则独立;
贝叶斯网络是一有向无环图(directed acyclic graph (DAG))
每个节点都与一个概率函数相关联,该概率函数将节点父变量的一组特定值作为输入,并给出节点表示的变量的概率。
主要应用概率公式:条件独立公式和全概率公式,全概率公式: P ( A ) = ∑ i n P ( A ∣ B i ) P(A) = \sum_{i}^n P(A|B_i) P(A)=∑inP(A∣Bi)
预测:前推导;诊断:由后验找原因
Error = Bias + Variance
偏差(Bias):实际值与预测值之间的误差
方差(Variance):对于一个给定点模型预测的变化性(由于训练集不一样等)
方差偏差-权衡:简单的模型方差小,偏差大(拟合度低);反之,则方差大,偏差小
当遇到新查询时,检索和处理与查询实例相关的实例;基于局部相似性的学习
目标函数为离散的
采用投票的方法,k个最近点函数值众数即为新实例的函数值
f ^ ( x q ) = a r g m a x v ∈ V ∑ i = 1 k δ ( v , f ( x i ) ) ; δ ( a , b ) = 1 , i f a = b , e l s e δ ( a , b ) = 0 \hat{f}(x_q) = argmax_{v \in V} \sum_{i=1}^k \delta(v,f(x_i)); \delta(a,b) = 1,if \quad a=b,else \quad \delta(a,b)=0 f^(xq)=argmaxv∈V∑i=1kδ(v,f(xi));δ(a,b)=1,ifa=b,elseδ(a,b)=0
目标函数为连续的(实数)
f ^ ( x q ) = ∑ i = 1 k f ( x i ) k \hat{f}(x_q) = \frac{\sum_{i=1}^k f(x_i)}{k} f^(xq)=k∑i=1kf(xi)
k值的影响
大的k对噪声不敏感,适用于较大的训练集;
距离度量,引入加权距离
核函数 K ( d ( x i , x q ) ) K(d(x_i,x_q)) K(d(xi,xq)),如欧氏距离(要转变为倒数,距离越近权值越大)
不同维度特征的量纲可能不同,为了保证每个特征的同等重要性,需要对每个特征维度进行归一化处理
局部加权回归泛化k-NN方法,构造一个显式近似来覆盖 x 周围的局部区域
局部加权线性回归的一般形式为: f ( x ) = w 0 + w 1 a 1 ( x ) + … + w n a n ( x ) f(x)=w_0 + w_1a_1(x) + … + w_na_n(x) f(x)=w0+w1a1(x)+…+wnan(x)
三类常用损失函数(只考虑最近k个点,考虑全局距离加权,综合前两者)
径向基函数(神经网络)—RBF
选择k个中心点 x u x_u xu,使用核函数进行加权计算,调整权值来逼近目标函数(全局目标函数)
k近邻学习即为基于案例的学习算法
基于实例学习分两类,一个是实例在欧式空间内,有knn和局部加权。一个是复杂符号表示,有基于案例的推理
集成学习是一种组合许多弱学习器以尝试产生强学习器的技术
集成学习是一种组合许多弱学习器以尝试产生强学习器的技术
如何生成基础学习器(弱学习器)
Different learners, Bootstrap samples,…
如何组合弱学习器
两层,第一层为弱分类器(base leaner, 使用训练样本的有放回抽样(Bootstrap* *Sample) 训练第一层的分类器);第二层为Meta classifier,使用第一层的输出和样本的真实标签进行训练
基本思想为由第二层的元分类器(Meta Classifer)判断第一层的弱分类器是否正确学习到了训练数据特征
伪代码
与Stacking对应的是RegionBoost:其不对每个基础学习器(base learner)的训练数据使用单一的准确度度量,而是根据每个基础分类器预测与等待预测的示例的相似示例的好坏来加权每个基础分类器的预测
。
有些分类器只对问题空间的某些区域表现良好,在对应该落入其中一个区域的新点进行分类时,使用该区域上的准确率作为基分类器的权重。
产生基(弱)分类器的方法:
Bagging
,Boosting
,DECORATE
)使用可放回重复抽样(***Bootstrap* *Sample)***产生多个训练集训练多个分类器,采用多数投票的方式聚合得到最终结果;分类器最好是不稳定的
每轮对数据集的样本进行权重的重分配,错误的样本权重更高,正确的样本权重更低,产生新的弱分类器;最终由弱分类器投票得到结果
DECORATE: 人工产生额外的训练数据,并打标签(与现在集成器预测相反)加入训练集产生新的分类器,如果集成准确率下降则拒绝该分类器。
随机森林(Random Forest):随机生成多个决策树进行投票获得最终解决;决策树生成有两个随机(使用有放回随机抽样的方法获得每个decision tree的训练样本,根据概率分布(如均匀概率分布)抽取部分特征构建节点)。
构建的规则不能够覆盖所有数据(不完备)
Soultion:定义默认规则, defaut class
构建的规则不能够互斥(一个样例可能被多个规则覆盖)
Solution:有序规则集合,无序规则通过准确率加权
一种从训练数据集直接构建分类规则的算法
支持向量机(SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器(常对小样本数据),其决策边界是对学习样本求解的最大边距超平面,可以将问题化为一个求解凸二次规划的问题。
具体来讲:
从数据中挖掘簇,簇内各对象之间彼此相似/相关,而簇间对象不相似/不相关
关键在于,如何计算簇间相似度,方法包括(最小,最大,簇平均,质心距离,基于目标函数的)。
缺点:做了就不能重做(属于一个簇定下来就永远定下来了)
DBScan,Density Based Spatial Clustering of Applications with Noise.
几个基础概念:
算法
Step1:任意选取一个点p
Step2:根据EPs取出由p密度可达的点
Step3:如果p是一个中心点,则一个簇形成
Step4:如果p是一个边缘点,或者没有点是密度可达的,则访问下一个点重复2,3,直到所有点都被处理。
参数选取(半径Eps和半径内数量MinPts)
对于簇中的任意一个点,他们第k个最近点距离大致相同的,据此绘图找出折线剧烈变化的地方,可以找到合适的Eps
量化评估主要有三类:
相关指标:
相似性矩阵和索引矩阵(行列代表节点,属于同一个簇则为1,否则为0),关联分析
Cohesion: WSS = ∑ i = 1 ∑ x ∈ C i ( x − m i ) 2 = \sum_{i=1} \sum_{x \in C_i}(x-m_i)^2 =∑i=1∑x∈Ci(x−mi)2,与SSE一样
Separation:BSS= ∑ i ∣ C i ∣ ( m − m i ) 2 \sum_{i}|C_i|(m-m_i)^2 ∑i∣Ci∣(m−mi)2,其中 ∣ C i ∣ |C_i| ∣Ci∣为簇i的个数
轮廓系数:对于第i个点,a为该点到簇内其他点的平均距离,b为到其他簇点平均距离的最小值;
s= 1 − a b , i f a < b ; 1-\frac{a}{b}, \, if \,a1−ba,ifa<b;
s= a b − 1 , e l s e 不 常 见 \frac{a}{b} - 1 , else \quad不常见 ba−1,else不常见
越接近1越好
Apriori规则:如果一个项集是频繁的,则它的所有子集都是频繁的;借此大幅度减少候选项集的数量
Step1:初始化参数k=1,支持度和置信度阈值
Step2 :扫描事务库生成k项频繁项集;(或者采用hash树的方式进行比较)
Step3 :生成(k+1)候选项集,多采用 F k − 1 × F k − 1 F_{k-1} \, \times \, F_{k-1} Fk−1×Fk−1
F k − 1 × F k − 1 F_{k-1} \, \times \, F_{k-1} Fk−1×Fk−1方法:
重复Step2,Step3直至候选项集为空,得到频繁项集,进而生成关联规则。
构建FP树
扫描第一趟,对每一个事务的商品进行排序(根据商品出现的次数,并丢弃非频繁的商品项)
扫描第二趟,每次读取一个事务构建一条路径,若路径前缀相同,则进行合并
最后给予存在的每个商品一个指针,该指针将以包含商品的路径联系了起来
挖掘频繁项集
在FP树构建完成的基础上,从路径末尾开始递归挖掘。
频繁关联规则挖掘之FP树_wustdatamining的博客-CSDN博客
原始评估是支持度和置信度
列联矩阵经常被用到
提升度(Lift)/Interest = P ( X , Y ) P ( X ) P ( Y ) \frac{P(X,Y)}{P(X)P(Y)} P(X)P(Y)P(X,Y), 对于规则X→Y or Y→X
过滤(Filter)方法和包裹(wrap)方法是评价特征选择好坏的两类重要方法
过滤方法:使用侧重于特征本身相关性的评估函数,无监督,独立于学习器。
Filter评估方法具体有4类:概率距离度量,概率依赖度量,熵度量,类间距离度量
优点:
缺点:
包裹方法:使用专注于准确性的评估函数,往往学习器本身作为评估函数。
优点:
缺点:
朴素顺序特征选择(Naïve Sequential Feature Selection)
N特征逐个送入评价函数J,选择评分最高的M个特征;缺点没有考虑特征间的信息互补
前向顺序选择(Sequential Forward Selection (SFS))
初始最佳选择集Y= ∅ \emptyset ∅,然后依次加入一个特征x, Y+x能够使分类器产生最高的分类准确率,直至Y加入剩余任何特征时分类准确不再改变。
1.Start Y_0 = {}
2.select best feature x_best = argmax_{x not in Y_k}[J(Y_k+x)]
3.Update Y_{k+1} = Y_k + x_best
4.GO to 2
在特征数目较少时表现好,缺点是加入后不能够移除已经选择的特征(某个特征加入后,已选择的特征可能与分类结果无关)。
后向顺序选择(Sequential Backward selection (SBS))
与前向顺序选择正好相反,Y=X出发,每次移除一个最差特征,直至分类准确率开始下降。
在特征数目很多时表现好,缺点是一个特征一旦移除后续将不能重新评估该特征的影响。
双向搜索(Bidirectional Search (BDS))
前向,后向的并行执行,双向奔赴,收敛至同一个特征子集。
基本思想是:SFS选择的SBS不能移除,SBS移除的SFS不会再次进行选择。
前向浮动顺序选择(Sequential Floating Forward Selection, SFFS)
在SFS的基础上,允许回退,即加入一个特征后,选择最坏的一个特征,若移除该特征后分类准确率上升,则移除,并重复此操作直至无法移除特征再进行选择添加。
使用降维后的特征选择自己,送入到SVM等模型中进行训练,测试查看模型准确率是否明显下降等。