对应课程视频有点小跳跃,因为课堂上2节视频是用游戏展示梯度下降找最低点示范,感觉没啥说的了
常见的分类,如根据一个人的收入,储蓄,职业,年龄等判断是否给与贷款,(2分类)
根据病人的各种检查指标,确定病人有哪种疾病(多分类)
根据手写汉字,识别出手写内容(多分类,分类进8000个)
我们怎么做分类,按之前学的,可以把回归做分类工具吗?比如二分类,判断是就是1,不是就是-1,接近1的就是1,接近-1读的到就是-1
事实证明这么做往往效果是不好的,比如说有个能2分类不错的一条直线,我们把右下为1,左上定义为-1,下图左侧看着好像效果也是不错,但是如果数据里有距离较远得到一簇,他们当然也会输出1,但是他们会将直线变成紫色曲线的部分,而不是分类效果好的绿色线,即回归会惩罚分类太正确的。
又一说如果是多分类,我们按照使用回归的思路,可能就会想啊,把第一个分类输出1,第二个输出2,第三个输出3等等,但是这样就导致了1,2比较近,2,3比较近,然而你实际使用的分类并没有这种远近的关系,容易判断错误。
我们可以设置这样一个分类函数,当函数输出>0为1分类,其他为2类,此时损失函数就是统计所有样本出错的个数,至于如何求损失函数最优,可以通过感知机Perceptron,支持向量机SVM(本节课先不讲)
如下图,我们又2个箱子,如果我们抽出了一个篮球,那他在第一个箱子里出来的概率如图,应用到了贝叶斯概率公式
以2分类来说,我们就同样有如下图公式(样本x属于C1类概率),生成模型的概率公式(上式的分母)
高斯分布,其形状取决于均值和协方差阵
给我们一个决于均值和协方差阵,我们就可以求出模型散布出79个点的概率(可能性),当然正态分布是独立的,所以是图中结果(老师讲了训练集79个水系宝可梦,61个一般宝可梦,如果再来一个宝可梦,判断是水系的概率的问题)
我们把可能性求得最大的定义为,根据求导可得是样本的均值,是样本的按带入求得的均方差(阵)
因此我们就可以求出新来的宝可梦是水系的概率了(是用已有的79个水洗样本计算出的正太模型带入新样本属性求得)
当然老师采用的模型选取的特征和分类关系并不大,导致测试集准确率才47%,采用了7个特征也才54%
对于2种分类,每个有各自的和,如果我们把2个分类使用一个共同的,可以使增长比较快
对于我们79个水系好61个一般系宝可梦,我们使用了共同的有如下算式,分别为各自样本算得的方差(阵),即把各自的方差根据样本数量加权,为什么我们用了7个特征就分类效果比较好了呢,这已经上升到了七维空间上了,可能就有比较容易划分的超平面
我们之前的分类算法的边界是个曲线,当我们使用共同的时,边界变成了直线,也就成为了线性模型,当我们把特征加到7个后,之前的分类准确率也提高到了73%
因此我们进行分类可以按以下3步骤执行:
1模型建立,计算分类概率
2优化参数,使可能性达到最大
3找到最好的函数
我们为什么选择高斯分布而不选用其他概率模型分布呢,我选择其他模型你也可能会问我,这都是古人的经验罢了,选择你认为对的一种模型就可以了。下图中,我们假设x为K维度特征向量,如果假设各维度间是概率发生是独立的,那我们就可以把概率拆解为每一个维度的高斯概率的乘积,(但往往不是所有的特征都是独立的,比如宝可梦的攻防往往是正相关的),对于二分类问题,我们也可以采用伯努利分布模型(n=1概率p,n=0概率1-p)。
如果你假设模型特征的不同维度是相互独立的,那你采用的模型叫做朴素贝叶斯分类器(要根据实际情况选择)
我们将概率模型整理,并用z替换参数,可以得到一个新的函数,我们称之为Sigmoid函数,其特性是y轴与0.5相交,取正无穷是1,负无穷是0
我们将z整理后可以得出如下式子,因为我们可以假设相同都为,就可以进一步化简,最后提取出x*w+b的形式,这就解释了当我们使用同一个协方差阵的时候边界是线性的
从上图看着好像我们上来就去求出w,b分类就完事了,真是这样吗,我们下堂课分解。