赞
踩
这一周学习了classification的宝可梦案例,对Classification的应用场景、Classification的实现步骤、以及对Probability Distribution(概率分布),如:高斯分布、和一些概率论的基础知识进行了学习。此外还学习了Logistic Regression(逻辑回归),学习了Logistic Regression的三个步骤和它的限制,并理清了Generative(生成模型) V.S. Discriminative(判别模型)的区别以及优劣势,其中学习到了贝叶斯公式以及伯努利分布以及交叉熵的计算。最后对多个Class的分类过程进行学习,懂得了其过程。
This week, I studied the Pok é mon case of classification, including its application scenarios, implementation steps, and the basics of probability distribution such as Gaussian distribution and probability theory. In addition, I also learned about Logistic Regression, the three steps and limitations of Logistic Regression, and clarified the differences and advantages and disadvantages of Generative V.S. Discriminative models. I learned about Bayesian formulas, Bernoulli distributions, and the calculation of cross entropy. Finally, I learned the classification process of multiple classes and understood its process.
classification常常用于分类问题
常见的场景有:
1、信用分评估:根据收入、职业、年龄综合因素作为input,最后决定是否接受借贷。
2、医疗诊断:根据现在的症状、年龄、性别等作为input,最后输出疾病类型。
3、手写识别:根据手写的内容作为input,输出手写的字。
接下来,我们继续使用宝可梦的例子来学习Classification。
我们需要实现的就是不同的宝可梦,来判断它属于哪一个属性(即宝可梦作为input,属性为output)
比如:比卡丘 = 电属性、杰尼龟 = 水属性 等等
我们如何用宝可梦作为input呢?
我们可以用数字来表示宝可梦,因为我们的宝可梦都是由很多数值属性组成,例如:血量(HP)、攻击力(Attack)、防御力(Defense)等
所以,我们可以用7个数字组成的vector(向量)表示一只宝可梦
下图中,我们就可以使用如下数字来表示比卡丘。
那我们预测宝可梦属性有什么作用呢?
下图是一直1818的属性相克表。
如果我们正确的使用classification预测到了属性,在宝可梦对决中,根据1818的属性相克表,我们就可以使用合理的战略去战胜对方的宝可梦了。
我们之前学习了Regression,假设我们在不了解Classification之前,用Regression去解决我们现在的问题会存在判断失误的问题
下图中,我们直接把Classification视为二分类问题,Class 1 代表目标为 1 ;Class 2 代表目标为 -1(因为Classification 输出的是一个数字结果,如:0.8、0.6等等)
这个例子中简单来说就是结果越接近1就是Class 1;越接近-1就是为Class 2
假设我们用这个Model
b
+
w
1
x
1
+
w
2
x
2
=
0
b + w_{1}x_{1} + w_{2}x_{2} = 0
b+w1x1+w2x2=0
为分界线,即在绿色线上边>0,在绿色线下方<0,按照下图左1的分布情况来说,我们完成分类还是能够正确进行的。
但是!
如果像右图的情况,结果如下:
再者,如果我们有很多分类,他们之间并不存在关系,我们也无法使用Regression的Model完成。
如下图:
其中perceptron,SVM的概念如下:
感知机(perceptron):
感知机(perceptron)
又称“人工神经元”或“朴素感知机”,由Frank Rosenblatt于1957年提出。
作为神经网络的起源算法,通过深入学习可以帮助我们更好的理解神经网络的部分工作原理。
感知机接受多个输入信号,输出一个信号。感知机的信号只有“0(不传递信号)”和“1(传递信号)”两种。
SVM(支持向量机):
支持向量机(Support Vector Machine, SVM)
一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier)
其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)
这两种方法,我们后续再进行研究学习。
下面我们用两个盒子的案例来认知Generative Models
解释如下:
P ( X ∣ Y ) P(X|Y) P(X∣Y)
表示在Y的前提下,抽到X的几率有多少
所以蓝球从Box1里面抽出的概率表示为:
P ( B 1 ∣ Blue ) = P ( Blue ∣ B 1 ) P ( B 1 ) P ( Blue ∣ B 1 ) P ( B 1 ) + P ( Blue ∣ B 2 ) P ( B 2 ) \mathrm{P}\left(\mathrm{B}_{1} \mid \text { Blue }\right)=\frac{P\left(\text { Blue } \mid B_{1}\right) P\left(B_{1}\right)}{P\left(\text { Blue } \mid B_{1}\right) P\left(B_{1}\right)+P\left(\text { Blue } \mid B_{2}\right) P\left(B_{2}\right)} P(B1∣ Blue )=P( Blue ∣B1)P(B1)+P( Blue ∣B2)P(B2)P( Blue ∣B1)P(B1)
假设我们的Two Boxes变为Two Class,其他的都跟着改变,那么我们想要求一个x在Class 1的概率。
同理得,我们求得x在Class 1 的几率为:
P ( C 1 ∣ x ) = P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) \mathrm{P}\left(\mathrm{C}_{1} \mid \text { x }\right)=\frac{P\left(\text {x} \mid C_{1}\right) P\left(C_{1}\right)}{P\left(\text { x } \mid C_{1}\right) P\left(C_{1}\right)+P\left(\text { x } \mid C_{2}\right) P\left(C_{2}\right)} P(C1∣ x )=P( x ∣C1)P(C1)+P( x ∣C2)P(C2)P(x∣C1)P(C1)
而以下这些概率为
Prior(先验概率):
先验概率(prior probability):是指根据以往经验和分析得到的概率
P ( C 1 ) P\left(C_{1}\right) P(C1)
P ( C 2 ) P\left(C_{2}\right) P(C2)
P ( x ∣ C 1 ) \mathrm{P}\left(\mathrm{x} \mid \text {C}_{1}\right) P(x∣C1)
P ( x ∣ C 2 ) \mathrm{P}\left(\mathrm{x} \mid \text {C}_{2}\right) P(x∣C2)
这些都需要在training data里面估算出来
上面这一套流程生成的Model就叫做生成模型(Generative Models),可以用这个model计算某个x出现的几率,概率为:
P
(
x
)
=
P
(
C
1
)
P
(
x
∣
C
1
)
+
P
(
C
2
)
P
(
x
∣
C
2
)
继续以宝可梦的案例套入,假设我们只研究水属性和普通属性进行分类,我们需要计算出其Prior(先验概率)。
水系为Class 1(C₁) 、Normal 为Class 2(C₂)
ID < 400为训练集,其余为测试集
假设training data里有 79只水系、61只normal系
我们很简单地计算出P(C₁)、P(C₂)
那如果,我们遇到了这是海龟是training data里面79只水系以外的物种(感觉上x似乎0),那怎么判断其是什么属性呢?
一开始我们介绍背景的时候就说到,我们的宝可梦都是以7个数值组成的vector来构成的,这也是宝可梦的的特征值,也就是feature,所以我们并不会遇到x为0的情况
我们的training data中79个水系宝可梦由Defense(防御)和SP Defense特殊防御组成 ,如下图画红色圈的地方所示。
那么海龟在我们training data之外,难道就直接为0吗?
这样肯定是不合理的,因为我们这79只水系神奇宝贝只是冰山一角,我们要根据现有的数据去预测水系中抽中海龟的概率。这时候就要用到高斯分布了。
我们可以把这种高维的高斯分布看作是一个Function
它的input就是vector x(即某一只宝可梦的数值)
它的output就是x从这个分布背抽取出来的几率
其中 ,其形状是由
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。