量子支持向量机是为数不多的能够指数加速的量子机器学习算法之一,并且已经被实验演示,是量子机器学习算法中为数不多的较为成功的例子。它使得我们能够使用仅n个比特完成对维的经典数据分类,并且时间复杂度只有是一种对于大数据集较为有效的算法。
分类数据
在机器学习中,我们常常会遇到分类的问题,对于二维的数据集,类似于我们常常用手就能完成地,一个比较直观的想法就是在两组数据之间画一根线,线的两边分别是两个不同类型的数据。这样就完成了分类,将来有新的数据,如果它的位置在线的上边,那么就将它归为上边那一类,反之类似。
经典的支持向量机(SVM)
那么一般地一个支持向量机(SVM)是这样构建的:
对于一个训练数据集我们将在这个数据集所在的空间中找到一个超平面,使得能够类似与上述的直线一样分割两种不同的数据。那么线性代数告诉我们,一个超平面可以这样描述
这里,,是这个超平面的法向量。它描述了超平面的方向,是偏移。于是在样本空间中的点到这个平面的距离就可以表示为
假如这个超平面成功地将这个数据集分开的话,我们就有当,使得
显然这个等号只对离超平面最近的样本点才成立,我们称之为支持向量。我们训练的目标就是找到一个能稳定分类数据的超平面。而这个目标可以归结为一个数学优化问题
从经典到量子支持向量机(QSVM)
或者也可以用这样一个拉格朗日量来描述,其中核(Kernel)定义为,我们让对和的偏导数为零,就能够获得前一种形式。定义
那么求解法向量和偏移就变成了求解
而求一个矩阵的逆是我们已经知道了的,也就是HHL算法(Harrow+Hassidim+Lloyd),这个在下一篇章介绍。
实验实现
2015年,中国科学技术大学的杜江峰老师组率先在一台NMR(核磁共振)实现的量子计算机上演示了这个算法,对MNIST手写笔记中的6和9进行了分类。
Li, Zhaokai and Liu, Xiaomei and Xu, Nanyang and Du, Jiangfeng, Experimental realization of a quantum support vector machine, PRL
原文发布时间为:2016-10-15
本文作者:罗秀哲
本文来源:创见,如需转载请联系原作者。