Python与机器学习之模型结构(生成学习算法)
引言
在前面我们谈论到的算法都是在给定x的情况下直接对p(y|x;Θ)进行建模。例如,逻辑回归利用hθ(x) = g(θ^Tx)对p(y|x;Θ)建模。
如果换个思路,首先根据大象(y=1)的特征来学习出一个大象的模型,然后根据狗(y=0)的特征学习出狗的模型,最后对于一个新的样本,提取它的特征先放到大象的模型中求得是大象的概率,然后放到狗的模型中求得是狗的概率,最后我们比较两个概率哪个大,即确定这个动物是哪种类型。也即求p(x|y)(也包括p(y)),y为输出结果,x为特征。
上面介绍了那么多,现在我们来试着定义这两种解决问题的方法:
判别学习算法(discriminative learning algorithm):直接学习p(y|x)或者是从输入直接映射到输出的方法
生成学习算法(generative learning algorithm):对p(x|y)(也包括p(y))进行建模。
好文章
查阅了那么多的资料以及看斯坦福机器学习课程,发现有位大牛已经总结整理好了。
- 生成学习算法(Generative Learning algorithms)
内容有:
- 高斯判别分析(Gaussian Discriminant Analysis)
- 朴素贝叶斯(Naive Bayes)
- 拉普拉斯平滑(Laplace smoothing)
总结
遇到分类问题时,朴素贝叶斯往往运作良好,正因为它简单清晰,值得第一步算法尝试。
如果您看到这篇文章有收获或者有不同的意见,欢迎点赞或者评论。
python群:190341254
丁。