生成学习方法
首先先说一下Logistic回归的工作方式,如果这是我们已知的一组训练集,那么它的工作方式就是观察这组数据,并尝试找到一条直线并将图中的x和o分开
,就算有噪声数据也可以尽可能的分开,这一过程是要经过很多次迭代才能完成的,Logistic回归属于一种分类算法。
什么是生成学习?
现在遇到了这样一个问题,我需要设计一种算法来预测我的病人的肿瘤是恶性的还是良性的,首先,我会先分析恶性肿瘤病人的特征并构建一个模型,再分析良性肿瘤病人的特征并构建一个模型。当一个新的病人让我判断是恶性肿瘤还是良性肿瘤时,我要把他的特征分别放到这两个模型中进行匹配,看哪个模型匹配的更好。这种办法就叫做生成学习方法。
之前我们一直在讨论的那些模型实际上都属于判别学习方法,判别学习方法或者学习一个假设,或者学习另一个假设,直接输出0或1,所以Logistic回归是判别学习的方法。相反的,一个生成学习方法用来对p(x|y)进行建模,给定所属类的情况下显示某种特定特征的概率,处于技术的考虑,它也会对p(y)进行建模。p(x|y)是一个条件概率模型。再利用贝叶斯公式(就不详细将了)就能得出p(y|x)条件概率。
再说说什么是高斯分布?
如果一个随机变量z满足高斯分布,多元高斯分布,会满足一个概率密度公式,可以看成是一维高斯分布的推广,形状也是一种钟形曲线。
高斯判别分析与Logistic回归的关系?
对于每个类别,先用高斯判别分析计算出p(y=1|x)和p(y=0|x)再得出p(y)这个伯努利分布模型,然而这个伯努利分布模型跟Logistic回归中使用的sigmod模型很相似,但也仅仅是相似,它们的曲线并不一样。
使用生成学习算法的优劣?
如果假设 x|y=1 是泊松分布,x|y=0 也是泊松分布,这意味着p(y=1|x)是一个logistic函数。高斯判别分析提出了一个更强的假设,即 x|y 服从高斯分布。如果高斯判别成立或大概成立,那么高斯判别分析将会优于logistic回归;相反的,如果你不确定 x|y 的分布情况,那么logistic回归他的表现可能更好。举个例子,如果你假设数据遵循高斯分布,但实际上数据服从泊松分布,那么logistic会得到一个不错的效果。 使用生成学习算法的好处在于,它余姚更少的数据,通常数据并不是精确的服从高斯分布,事实证明,生成学习算法效果通常出奇的好。相比之下,logistic回归的假设更少,对模型的假设方面更为健壮,因为你做了更弱的假设,你做了更少的假设。但有时,与高斯判别分析相比,为了拟合出模型,它需要更多的样本
朴素贝叶斯到目前为止,仍然是比较有效的进行分本分类,垃圾邮件分类,网页分类的手段。
Laplace平滑
现在我引出这样一个问题,如果一个球队在今年的5场比赛中都输掉了比赛,那么在第六场中它的胜率会是多少?如果根据传统的方法分析,胜率为0,但是这种估计显然有点苛刻,谁还没个人品爆发的时候呢,虽然赢的概率不大,但也不至于为0。传统算法为p(x) = x/(x+y) = 0/0+5 = 0,现在我们在没个x和y上都加1,p(x) = 0+1/(0+1+5+1) = 1/7,这就叫做Laplace平滑。