之前看人脸验证,发现除了DeepID系列,FaceNet等深度识别方法之外,效果最好的当属高斯脸和联合贝叶斯模型(后面又发展出结合迁移学习的联合贝叶斯方法)了。本次从联合贝叶斯模型入手,谈谈生成模型与判别模型的理解。两个模型代表两大范畴,目前大多数机器学习模型都隶属于这两个范畴。
生成模型的建立一般过程是根据训练数据建立类别Class P(C)的分布和Class-conditioned的分布P(x|C),利用Maximum Likelihood或其他方法确定P(x|C)的参数,进而利用sigmoid进行二分类或softmax进行多分类。联合贝叶斯模型是典型的生成模型,He,Hi分别代表 不相似 和 相似 两类,建立Class-conditioned的分布P(x1,x2|He)和P(x1,x2|Hi),利用log(P(x1,x2|Hi)/P(x1,x2|He))来决定两张图片代表的人脸是否相似。主要的求解过程在于确定Class-conditioned的分布,作者使用的类似EM的迭代更新算法。“联合”的含义是他没有使用delta=x1-x2,即建立分布P(delta|He),这样的好处可参见原文。
可以看到,算法的着力点不在于最后的判定,而是Class-conditioned分布的求解。
判别模型就不太一样了,它直接着力于优化判别函数,不花心思去构建Class P(C)的分布和Class-conditioned的分布P(x|C)再求P(C|x)而是直接将P(C|x)以函数化得形式展现,例如sigmoid(W’X),然后去确定判别函数的参数。
未完,待续….
(第一次写博客,才疏学浅,敬请指教。)
生成模型与判别模型的理解(一)
最新推荐文章于 2024-03-23 16:22:49 发布