Classification
基本模型:
Input:x
Output:Class n
Application
- Credit Scoring
- Medical Diagnosis
- Handwritten character recognition
如何将我要分类的东西数值化?
Example Application
还是以宝可梦为例:
Total: how strong 整体程度
HP
Attack
Defense
SP Atk
SP Def
Speed
即一只宝可梦,是7个数字组成的vector.
每个宝可梦都是用feature来描述。
How to do Classification?
收集数据 Training data for Classification.
(皮卡丘,type雷)/(杰尼龟,type水)/妙蛙种子,type木)
Classification v.s. Regression
机器学习定理:没有免费的午餐定理。
Regression: Output :realnumber
Classification:Output:Discrete(Some class)
回归方法:对数值型连续随机变量进行预测和建模。
房价预测、股票预测、成绩预测
1.1 线性回归:
拟合,wx+b,值是连续值。
$b+\sum_iw_ix_i$
1.2 回归树
1.3 深度学习
1.4 最近邻算法
分类方法:
邮件过滤,金融欺诈,预测雇员异动
2.1 逻辑回归
将线性回归的wx+b通过sigmoid函数映射到(0,1),并利用threshold进行划分。
N分类问题:先得到N组w值不同的wx+b,归一化,最后变成N个类上的概率问题。
2.2 分类树(集成方法)CART算法
2.3 深度学习
2.4 支持向量机SVM
2.5 朴素贝叶斯
聚类:
3.1 k-means
3.2 Affinity Propagation
3.3 层次聚类
3.4 DBSCAN
Ideal Alternatives
这里的Loss function是无法用Gradient Descent。
Perceptron/SVM
给一个宝可梦x,统计从哪一个class中来的几率最大。
但是还有一个问题:
如何estimating the probabilities from training data.
Generative model
计算x出现的几率,得知x的distribution,然后利用distribution来generate一个x。
$P(x)=P(X|C_1)P(C_1)+P(X|C_2)P(C_2)$
Modelling Process using Genreative model
Gaussian Distribution
正态分布的由mean和variance来决定。
如何从sample来推断其背后的分布?
找$\mu$和$\sigma$
如何找$\mu$和$\sigma$?极大似然估计Maximum likelihood
其实这堆sample可以是任何一个正态分布都有可能sample出来的。
但是,每一个高斯分布能sample出这79个点的概率是(likelihood)不一样的。
即
Likelihood of a Gaussian with mean $\mu$,和协方差矩阵$\Sigma$
=
the probability of the Gaussian samples $x^1,x^2,….,x^{79}$;
$Likelihood(\mu,\Sigma)=\Pi_i f_{\mu,\Sigma}(x_i)$
即likelihood of distribution是独立sample出这79个点的乘积。
接下来,要找$Maximum \ likelihood$的那个Guassian
$\mu^,\Sigma^=arg \space max \space Likelihood(\mu,\Sigma) $
什么能让它最大呢?
平均值能让它最大:
$\mu^*=\frac{1}{n}\sum_ix^i$;
$\Sigma^=\frac{1}{n}\sum(x^i-\mu^)(x^i-\mu^*)^T$;
Now we can do classification
How’s the results?
把分类放到更到的维度上去。
但是放到了更高的维度上,好像也只有54%de accuracy。
那怎么提高accuracy呢?–Modifying Model
- 修改coveriance matrix:
即修改两个class分布的Gaussian,强迫其共用Convariance Matrix。
如此,如何计算likelihood呢?
这样就有140个sample point了,即变成了140个的乘积。
$\mu_1,\mu_2$的计算方式仍不变。
如何选择概率几率模型呢?
You can always use the distribution you like
这里$p(x|C_1)$的x可以是一个vector,所以$p(x|C_1)=p(x_1|C_1)p(x_2|C_2)…p(x_k|C_1)$
拆解了以后,就变成了一维度的Gaussian了,此时可以更好的减少次数,但模型的正确率。即需要model 不同feature之间的covariance.
对于binary feature:是或不是,可以是Bernoulli distributions.
当你把这些维度拆开的时候,你就在假设各个维度之间没有相关性了。
当independent的时候,是Naive Bayes Classifier.
这也解释了为啥两个$\Sigma$相等的时候是linear的boundary
如何理解先验概率和后验概率
设玩lol的是60%,不玩的是40%.
P(X=1)=0.6;P(X=0)=0.4;
玩lol中,0.8男性,0.2女性。
则不玩lol中,0.2男性,0.8女性。
P(Y=1|X=1)=0.8;
P(Y=0|X=1)=0.2;
P(Y=1|X=0)=0.2;
P(Y=0|X=0)=0.8;
P(X=1)=0.6;P(X=0)=0.4;这个概率是统计得到的,所以X的概率分布是已知的。
现在又来了一个样本,x,在他是男性的情况下,这里x取1的概率是多少:
P(x=1|Y=1)=$\frac{P(x=1\cap Y=1)}{P(Y=1)}$
$P(x=1\cap Y=1)/P(x=1)=P(Y=1|x=1)$
P(x=1|Y=1)=$\frac{P(Y=1| x=1)P(x=1)}{P(Y=1)}$
$P(Y=1)=P(Y=1|X=0)P(X=0)+P(Y=1|X=1)P(X=1)$
=0.2$\times$0.4+0.8$\times$0.6
P(x=1|Y=1)=$\frac{0.8*0.6}{0.56}$
最后算出的P(X=玩lol|Y=男性)称之为X的后验概率,即它获得是在观察到事件Y发生后得到的