来源:原始 Jupyter Notebook。内容已转换为网页阅读格式;下载原文件。
机器学习算法清单
- k-近邻(kNN)
- 决策树 ID3 算法
- 朴素贝叶斯分类算法
- 感知机
- 支持向量机(SVM)
- 逻辑回归(logistic regression)
- AdaBoost(adaptive boosting)
生成模型 vs. 判别模型
生成方法和判别方法是对监督学习算法的分类,由判别方法学到的模型叫做判别模型,由生成方法学到的模型叫做生成模型。
判别方法由数据直接学习决策函数 或者条件概率分布 作为预测的模型,即判别模型。基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。典型的判别模型包括k-近邻,感知机,决策树,支持向量机等。
生成方法由数据学习联合概率密度分布 ,然后求出条件概率分布 作为预测的模型,即生成模型 。基本思想是首先建立样本的联合概率概率密度模型 ,然后再得到后验概率 ,再利用它进行分类。典型的生成模型是朴素贝叶斯算法。
判别方法更多的关注各个类别之间的区别,而生成方法更多关注各个类别内部的相似度。判别方法画一条线,明确这种差别,线左边是类别A,线右边是类别B;生成方法拿样本去比较两个类别的已有数据,看看这个样本生成自哪个类别的可能性更大。
由生成模型可以得到判别模型,但由判别模型得不到生成模型。