当前位置:   article > 正文

第三周:机器学习笔记

第三周:机器学习笔记

摘要

这一周学习了classification的宝可梦案例,对Classification的应用场景、Classification的实现步骤、以及对Probability Distribution(概率分布),如:高斯分布、和一些概率论的基础知识进行了学习。此外还学习了Logistic Regression(逻辑回归),学习了Logistic Regression的三个步骤和它的限制,并理清了Generative(生成模型) V.S. Discriminative(判别模型)的区别以及优劣势,其中学习到了贝叶斯公式以及伯努利分布以及交叉熵的计算。最后对多个Class的分类过程进行学习,懂得了其过程。

Abstract

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.

深度学习

1. Classification

1.1 Classification的应用场景

classification常常用于分类问题
常见的场景有:
1、信用分评估:根据收入、职业、年龄综合因素作为input,最后决定是否接受借贷。
2、医疗诊断:根据现在的症状、年龄、性别等作为input,最后输出疾病类型。
3、手写识别:根据手写的内容作为input,输出手写的字。
在这里插入图片描述

1.2 Classification宝可梦案例

1.2.1 案例的背景说明以及实际作用

接下来,我们继续使用宝可梦的例子来学习Classification。
我们需要实现的就是不同的宝可梦,来判断它属于哪一个属性(即宝可梦作为input,属性为output)
比如:比卡丘 = 电属性、杰尼龟 = 水属性 等等
在这里插入图片描述
我们如何用宝可梦作为input呢?
我们可以用数字来表示宝可梦,因为我们的宝可梦都是由很多数值属性组成,例如:血量(HP)、攻击力(Attack)、防御力(Defense)等
所以,我们可以用7个数字组成的vector(向量)表示一只宝可梦
下图中,我们就可以使用如下数字来表示比卡丘。
在这里插入图片描述
那我们预测宝可梦属性有什么作用呢?
下图是一直1818的属性相克表。
如果我们正确的使用classification预测到了属性,在宝可梦对决中,根据18
18的属性相克表,我们就可以使用合理的战略去战胜对方的宝可梦了。
在这里插入图片描述

1.2.2 拓展:用Regression处理Classification问题存在的弊端

我们之前学习了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完成。

1.2.3 Classification思路

如下图:
在这里插入图片描述
其中perceptron,SVM的概念如下:
感知机(perceptron):

感知机(perceptron)
又称“人工神经元”或“朴素感知机”,由Frank Rosenblatt于1957年提出。
作为神经网络的起源算法,通过深入学习可以帮助我们更好的理解神经网络的部分工作原理。
感知机接受多个输入信号,输出一个信号。感知机的信号只有“0(不传递信号)”和“1(传递信号)”两种。
  • 1
  • 2
  • 3
  • 4

SVM(支持向量机):

	支持向量机(Support Vector Machine, SVM)
	一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier)
	其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)
  • 1
  • 2
  • 3

这两种方法,我们后续再进行研究学习。

1.2.3.1 生成模型(Generative Models)

下面我们用两个盒子的案例来认知Generative Models
在这里插入图片描述
解释如下:

P ( X ∣ Y ) P(X|Y) P(XY)

表示在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(xC1)P(C1)

而以下这些概率为
Prior(先验概率)

	先验概率(prior probability):是指根据以往经验和分析得到的概率
  • 1

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(xC1)

P ( x ∣ C 2 ) \mathrm{P}\left(\mathrm{x} \mid \text {C}_{2}\right) P(xC2)

这些都需要在training data里面估算出来

上面这一套流程生成的Model就叫做生成模型(Generative Models),可以用这个model计算某个x出现的几率,概率为:

P ( x ) = P ( C 1 ) P ( x ∣ C 1 ) + P ( C 2 ) P ( x ∣ C 2 )

P(x)=P(C1)P(xC1)+P(C2)P(xC2)
P(x)=P(C1)P(xC1)+P(C2)P(xC2)

继续以宝可梦的案例套入,假设我们只研究水属性和普通属性进行分类,我们需要计算出其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的情况

1.2.3.2 Gaussian Distribution(高斯(正态)分布)

我们的training data中79个水系宝可梦由Defense(防御)和SP Defense特殊防御组成 ,如下图画红色圈的地方所示。

那么海龟在我们training data之外难道就直接为0吗?
这样肯定是不合理的,因为我们这79只水系神奇宝贝只是冰山一角,我们要根据现有的数据去预测水系中抽中海龟的概率。这时候就要用到高斯分布了。
在这里插入图片描述
我们可以把这种高维的高斯分布看作是一个Function
它的input就是vector x(即某一只宝可梦的数值)
它的output就是x从这个分布背抽取出来的几率
其中 ,其形状是由

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/829655
推荐阅读
相关标签