机器学习入门-第四天

classification

1,分类和回归的区别

机器学习入门-第四天

其区别的本质是loss function的定义不同

回归的本质:以binary classification为例,我们选择的输出函数是机器学习入门-第四天, 我们在Training时让输入为class 1的输出为1,输入为class 2的输出为-1;那么在testing的时候,regression的output是一个数值,它接近1则说明它是class 1,它接近-1则说明它是class 2.  以回归的loss function=真实值-输出值y判断, 则回归的目的是使输出值越接近真实值,也即使输出值与真实值之间的误差越小越好.因此输出值越大于或越小于1以及-1都是不好的.

  1. 下图中右下角尽管更属于class1,但其对应的输出值y远大于1,会被认为得到的结果很差.
  2. 如果是多元分类问题,把class 1的输出当做是1,class 2的输出当做是2,class 3的输出当做是3的做法是错误的,因为当你这样做的时候,就会被Regression认为class 1和class 2的关系是比较接近的,class 2和class 3的关系是比较接近的,而class 1和class 3的关系是比较疏远的;但是当这些class之间并没有什么特殊的关系的时候,这样的标签用Regression是没有办法得到好的结果的.因为Regression的loss function是用output与“真值”的平方和作为评判标准的,这样输出值(3,2)与(3,1)之间显然是(3,2)关系更密切一些.

机器学习入门-第四天

分类的本质:为了解决这个问题,我们只需要重新定义一个loss function即可,我们可以把loss function定义成机器学习入门-第四天,即这个model在所有的training data上predict预测错误的次数,也就是说分类错误的次数越少,这个function表现得就越好.

分类就是求后验概率,已知结果(输入数据)求原因(在哪一类)

机器学习入门-第四天

回归和分类的相互转化举例:

参考:陶韬https://www.zhihu.com/question/21329754

回归方法处理分类问题本质上就是把没有度量的“类标签”赋予一个连续度量,常见的选择就是概率。例如给出三个样本,其原始标签是“类A、类B、类C”,转化后的新标签就是【1,0,0】,【0,1,0】,【0,0,1】(对就是onehot编码)。最后通过回归建立一个误差函数最小的拟合模型,然后比如说该模型对测试样本输出为【0.0914,0.2587,0.8321】则代表了该样本属于每一类的概率,然后视分类判决依据将该样本分至相应类,(若按最大似然标准,则此处样本归为类C)。现在多分类所采用的softmax就是这么做的。

2,Generative model生成模型

参考:https://sakura-gh.github.io/ML-notes/ML-notes-html/6_Classification.html

生成模型是一种无监督学习方法。其本质是,我们假设输入数据都是遵从某种未知分布的, 我们从训练数据中学习,得到这种数据的分布(得到的只是近似于真实的分布),然后以近似于真实的分布来产生新样本。如下图, 如果我们可以计算出每一个x出现的概率,得到数据的近似分布,就可以用这个分布来生成x出来.

机器学习入门-第四天

机器学习入门-第四天

3,分类问题就转变成求分布,也即求生成模型

1,输入数据应该属于哪个分布呢?

  •   假设所有的feature都是相互独立产生的,这种分类叫做 Naive Bayes Classifier(朴素贝叶斯分类器)

机器学习入门-第四天

2,这里输入数据均是随机的实数值,所以选择高斯分布机器学习入门-第四天:

就是说在水系样本中的79个精灵中,抓到其中一种精灵的概率(P(x|c1))呈高斯分布。

根据已知的79个点,尝试所有的机器学习入门-第四天, 找到一个最佳的,使"得到的分布情况与当前已知79点的分布情况相同"这件事情发生的可能性最大.

机器学习入门-第四天

机器学习入门-第四天机器学习入门-第四天

4,求一个输入的分类,也即求后验概率机器学习入门-第四天

机器学习入门-第四天

机器学习入门-第四天

5, 改进模型

机器学习入门-第四天

机器学习入门-第四天

机器学习入门-第四天

机器学习入门-第四天

机器学习入门-第四天

判别模型与生成模型https://www.jianshu.com/p/75129cd2f229