机器学习算法总结
生成模型 or 判别模型:
生成模型学习的是联合分布概率P(x, y),再去求后验概率P(y|x),关心的同类样本之间的相似度。
包括逻辑回归,k近邻,感知器,支持向量机,决策树等。
判别模型则不关心样本是如何生成的,学习的是条件概率P(y|x)或者决策函数,关心的是异类样本之间的差异。
包括朴素贝叶斯,马尔科夫模型,高斯混合模型。
生成方法可以还原出联合概率分布,而判别方法不能。
当存在隐变量时,仍然可以用生成方法学习,此时判别方法不能用。
生成模型可以用于判别,但判别模型无法生成。
判别方法利用了训练数据的类别标识信息,直接学习的是条件概率P(Y|X)或者决策函数f(X),直接面对预测,往往学习的准确率更高。
由于直接学习条件概率P(Y|X)或者决策函数f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。
判别模型的缺点是不能反映训练数据本身的特性。回归模型 or 分类模型
回归输出是连续变量,目的是找到最优拟合,损失函数一般用方差定义。
分类输出是离散变量,目的是找到决策边界,损失函数一般用准确率或者混淆矩阵定义。
1. 朴素贝叶斯模型
模型
P(y|x)是后验概率,P(x|y) 是似然概率,P(y)是先验概率
例子:堵车的因素假设有两种,交通事故或者天气原因。交通事故是先验概率,P(堵车|交通事故)是似然概率(由因求果),P(交通事故|堵车)是后验概率(由果求因)
一般可以写为:
朴素贝叶斯就是在给定先验概率和似然概率的条件下,选择一个类别y使得后验概率最大:
评价
朴素贝叶斯模型属于生成模型,前提是每个特征需要满足独立条件。因为只需要计数,模型非常简单,对于小样本或者满足独立假设的样本收敛速度非常快,主要缺点是它不能学习特征间的相互作用。
例子:虽然你喜欢Brad Pitt和Tom Cruise的电影,但是它不能学习出你不喜欢他们在一起演的电影。
朴素贝叶斯一般是分类模型,也可以是回归模型,得到连续的的p(y|x)后对y求期望就能得到连续的输出。
优缺点
优点
对小规模的数据表现很好,能处理多分类任务。
对缺失数据不太敏感,算法也比较简单,常用于文本分类。
当样本很多时,可以分批训练,即可以增量式训练。缺点
对于属性较多或者属性之间关联性较大的情况,效果很差,容易欠拟合。
需要计算先验概率,先验模型对预测结果有很大影响。
由于通过先验和条件概率计算后验概率,所以分类决策存在一定的错误率。改进
先对关联性大的属性聚类,再用朴素贝叶斯分类;
2. 逻辑回归
模型
损失函数:
如果直接用方差,loss函数不是convex的,就无法用梯度下降求解。
将y视为后验估计P(y=1|x),有
损失函数L为
评价
逻辑回归是判别模型&分类模型,对于样本是二项分布的二分类问题且希望得到概率值结果时适用,对远点的样本敏感(即远离中间的样本)。
优缺点
- 优点
实现简单,分类时计算量非常小,速度很快&