GDA和Logistic方法的区别及相应的matlab代码

来源:互联网 发布:淘宝网店童装图片 编辑:程序博客网 时间:2024/06/06 01:59

由Ng的视频和讲义中可以总结出GDA方法的优劣和适用范围,然后再利用matlab进行编程,进行实战学习

GDA方法与Logistic方法的主要区别在于这两个模型的假设不同:

GDA方法假设很强:p(x|y)服从多元高斯分布,并且输入特征是连续的;

Logistic方法并没有GDA那么强的假设:它既没有要求p(x|y)服从多元高斯分布,也没有要求输入特征是连续的。

因此Logistic的适用范围比GDA更加广泛。例如:如 果输入特征符合泊松分布,则Logistic得到的结果会比GDA更加准确。如果输入特征满足GDA的要求时,既可以用Logistic方法也可以用GDA,但是在这种情况下GDA得到的结果会比Logistic方法得到的结果准确些。

    GDA是一种生成学习算法,主要利用贝叶斯准则得到后验分布律p(x|y),然后通过最大后验分布对输入数据进行分类。简单地说,也就是在给定某个特征情况下,拥有此特征的数据属于哪个类的概率大 就属于哪个类。GDA的优势:由于有高斯分布的先验信息,如果确实符合实际数据,则只需要少量的样本就可以得到较好的模型。
    Logistic是一种判别学习算法,判别学习法通过建立输入数据与输出信息之间的映射关系学得p(y|x),这个与生成学习法是不同的。在生成学习法中首先要确定p(x|y)和p(y)。Logistic主要是通过sigmoid函数来确定输入数据及是将如何进行分类的。Logistic的优势:具有更高的鲁棒性和对数据的分布不那么敏感(不像GDA那样需要特征服从高斯分布)。

    
0 0
原创粉丝点击