final 2

1. inductive bias: 模型由于假定好的限制,不能跟真实的模型足够接近

如linear regression:假设target function是线性的;使用尽可能减小MSE来作为优化方向

nearest neighbor:假设function不能由一个简单的线性或非线性的function拟合;选取了唯一一种测量距离的方法

2. Bayes Theorem

P(D)通常被忽略

3. 如何用Bayes理论进行判断:选取概率更高的

a) MAP(Maximum a posterioir hypothesis), 即P(y=Ci|x)最大的即为所求

b) ML(Maximum likelihood, 即P(x|Ci)最大的即为所求

4. ∝表示正比例

bayes optical classifier: 有多个分类器,每个分类器都有一定的概率是准确的

举例来讲:

 

首先将hn(x)转化成P(-|hn)与P(+|hn)  ———— 预测为正则+为1,-为0;反之相反

然后分别求+,-的概率(+:1*0.4+0*0.3+0*0.3,-同理)

比较+-中更大的那个的概率

5. Naive Bayes Classifier

x不仅有一个维度

假设所有feature,attribute之间都是独立的

假设总概率是不同维度下概率相乘

p(Vj)代表先前数据,如计算明天是否会羽毛球,p(Vj)即打或不大的概率;likelihood跟前面的计算类似,打以及不打分别计算(天气状况,温度等不同维度不同情况下的打/不打概率)

给出新的情况时,用先前概率乘对应情况下的概率,比较打与不大的概率,取最大值

6. zero frequency: 为避免概率为0,在原有数据基础上,每个数据都加1

7. 对于numeric attribute,与classification不同,先用高斯分布进行拟合,故而每个x都有与之对应的概率

8. Naive Bayes最重要的应用——text classification

bag of words: 忽略单词不同位置的影响,把句子理解为一个个set

一般有两种model,分别为multinomial与multivariate Bernoulli models

multivariate Bernoulli不考虑每个单词出现了几次,只关心是否出现过

同样增加advanced smooth,方法是新增加两行全是1和全为0的数据

Multinomial则需要对出现个数进行统计,对于相同类别内的数据进行混合,如class为+的情况有4种,a b c分别对应出现0,3,0次;0,3,3次;3,0,0次;2,3,0次。即class为+中,a出现5,b出现9次,c出现3次;同样增加advanced smooth,然后求概率

对于新出现的数据,出现n次就是概率的n次方

9. logestic regression

10.  Occam's  Razor

保证模型足够简单的前提下,越简单越好

11. decision tree

data是numeric features和discrete attribute的组合时,decision trees效果很好

目标function是离散的(即分类问题,否则采用regression trees)

12.  important algorithm in Decisison Tree:TDIDT(Top-Down INducion of Decision Trees)

找到最好的一个feature进行split,在剩余的feature里,分别基于现有的两个class找到新的最好的feature

a) ID3(Iterative Dichotomiser 3)

针对categorical attribute

b) CaRT(Classification & Regression Tree)

 支持categorical attribute与numerical attributes

13. Entropy

选取最好的feature的标准是希望结果尽量不均衡,即最好split之后的结果全为一类;衡量标准即为entropy(0 1之间)

14. information gain

比较原始数据的entropy与split之后所得数据的entropy的差值,越大越好

每一层split的店不一定一致

15. ID3优化可以得到gain ratio

由于有的attribute可以划分的特别细,故而split效果就很好,但是这对别的attribute是不公平的

增加splitEntropy: 划分的越细,SplitEntropy就越高

用GainRatio平衡两者,越大越好(即gain尽可能大。SplitRatio尽可能小

16. decision tree很容易overfitting

即有h, h'两个算法;training data上h的error小于training data上h'的data;所有数据上h的error大于h'的error;则h是overfitting的

17. overfitting的解决方法为pruning

a) pre-pruning: training没结束前就停下来

early stop,增添限制,如max_leaf_nodes; min_samples_split; max_depth

b) post-pruning: tree构建完成后逐层向上pruning

data分为train和valid两部分,用valid进行pruning

post-pruningk可以细分成: reduced-error Pruning; Minimum error; Samllest tree

 reduced-error Pruning: 数据分为training与validation,通过training得到tree,然后在valid上逐层检测,如果某一点的split使效果反而变差了,则删除这个分支

缺点是data很少的情况下还要分一部分给valid,会使效果不好

minimum error:training时用cross-validation不断测试error,选取error最低的那个

smallest tree:考虑error的同时也要考虑tree的大小,即在可以接受的错误率范围中找到一个最小的

18. tree to rules

19. decision trees也可以解决continuous valued attribute,尽可能使class相同的分在一起

 

20. attr with costs

如做测试需要花钱,可以将gain修改为原来gain的平方/cost

21. windowing

解决training set过大的问题,只用一部分training data构建tree,用剩余data测试,若所有的training data都测试通过则结束,否则将测试错误的data放入window里面进一步测试

22. decision tree的inductive bias是只达到了局部最优,每一轮只选取了当前来讲最佳的;同时我们希望树的size越小越好,但是这种设定对于模型本身而言并不一定是最优解

24. decision tree优点:interpretability可解释性;测试很快;可以处理数据丢失;可处理无关attribute(Gain = 0);categorical以及numerical data均可处理

缺点是容易overfitting且不一定达到全局最优

25. regression tree

用weighted average variance做evaluation

求weighted average variance即根据按照当前方法regression之后每个区间里data的占比,乘以对应MSE

选择最小的

26. model tree

regression tree的升级版本,每一个节点split后在两边分别做一个linear regression即线性回归,传递到下一层

用standard deviation reduction标准差evaluation,若拟合的足够好就不需要继续split了

27. Perceptron Learning

由一个加和与其判别函数组成(加和大于0输出1;否则输出-1)

weight用w = w + yixi更新

28. 一般用对偶方式解决:Duality

29. Perceptron Learning用kernel trick解决非线性问题

将x mapping到更高维上,如(x1, x2) --- (x2^2, x2^2, x1x2)

但是如果对mapping后的两个point做乘积会很花时间,所以可以先将x1 x2相乘

常见kernel trick有

a) polynomial kernel: K(x, x') = (x*x' + c)^q

b) RBF kernel: K(x, x') = exp(-||x-x'||^2/2a^2)

30. SVM

提高模型泛化能力,如果有很多limitation可以作为classifier,选取最宽的那个,宽度用margin表示

假设边界线为wx = t, 可以平移到最远的两个边界分别为wx = t+m, wx = t-m, 用法向量可以帮助计算margin

min 0.5*||w||^2化简得到yi(w*xi - t)>=1  即所有点都在线外,并使其最小化

解决用到Largangian multipliers

X'即x与y对应的乘在一起

X'X'T表示了不同组合的乘积,将其代入argmax的公式里

 

计算如下:

 

将a3去掉,然后分别对a1, a2求导使其等于0,解出a1, a2

然后求出w t(求t时需要support vector,即落在边界线上的一个点,这里即为an不为0的,把对应的xn代入,求t)

31. SVM也有kernel形式

32. Soft Margin SVM

ai = 0, 点在边界外面

0 < ai < C,support vector,边界上

ai = 3, 在margin里面或者边界上

原文地址:https://www.cnblogs.com/eleni/p/12812629.html