科幻小说《三体》中有这样一个情节:三体人为了锁死地球基础科学的发展,把“质子”从十维度展开到二维,然后在二维质子上刻蚀电路板,做出个电脑,再将其升维,以近光速发送到地球。通过量子纠缠,三体人在4光年外控制这个质子计算机,从而控制着地球的基础科学实验结果。
我们今天不关心这个故事到底有没有技术上的漏洞,科幻毕竟是科幻,我们关心的是他们为什么要“降维”。
很重要一个原因,是对于三体人来说,高维的事物是无法理解的,对于我们同样有这样的问题。
生活在三维世界的我们,超出三维的事物,我们无法理解,或者我发直观的表达出来,例如我们之前测算房价的问题,事实上,影响房价的因素除了房子面积之外,有很多其他原因,房间数,周围学校、医院、商场数量,以及距离,公共设施完善程度,等等。如果每个因素都是一个维度,那你还能像之前那样,画出那条直线或者二次曲线了吗?
另外一个原因,是我们有了很多个维度来描述一个事物,那这些维度都是有必要的吗?
举个栗子,我收集房屋价格数据集时可能不是一个人收集的,我收集了房屋面积(平方米)与总价(人民币)两个维度,另外一个同事收集了房屋面积(平方英尺)、卧室数量、总价(美元)三个维度,现在我们两个人的数据要合并成一个数据集,就会产生一共5个维度的数据集。那么,这五个维度都是必要的吗?
很显然,平方米面积、平方英尺面积这两个是等比转化的,他们之间只差一个比例常数,测算房价时我只选用一个就可以了,另外的一个就是冗余的。
这个例子可能过于简单,一眼就看出多余的维度来了,实际上,你的数据集可能有成百上千个维度,这时候你还能一眼看出哪些维度有用,哪些可以去掉吗?
再举个复杂点的例子,假如你要选购一只基金,你有哪些参考指标(维度)?你可能会考虑基金的题材,过去的平均业绩,当前时期的政策,基金经理的资质,甚至可能的话你还会考虑基金经理这些天的心情怎么样,有这么多的指标,但都是你凭经验得来的,到底哪些指标对基金收益的影响大,而哪些几乎没影响呢?这就需要通过“主成分分析”来解决了。
所谓主成分分析( Principal components analysis,PCA),就是从很多个特征中,找到那些最主要的特征。
图解一下主成分分析的原理:
有一些三维的数据点(原始数据),通过PCA算法,我们找到一个平面,把原始数据点投影到这个平面上之后还能保留原数据点的大部分特征,这样,就从三维降到了二维。
也可以这么描述,对于这堆三维数据点,我用两个维度就可以描述清除他们了,而且保留了他们大部分的特征。
就像你描述一个人,可以说左眼3公分宽,右耳朵6公分长等等这些细节,你也可以用身高、体重、柳叶弯眉这些基本特征把人描述的八九不离十。
通常,我们要求降维后能保留原始数据90%以上的特征,这些以后会详聊。
至此,我们大概聊完了无监督学习的情况,总结下,无监督学习跟监督学习相对,无监督学习的数据集中,每个样本没有标准答案(或者标签),需要算法自己去发现数据结构、规律,处理流程是:
数据集 => 无监督学习 => 输出结果
整体一下前几期聊过的机器学习分类:
机器学习
监督学习
回归问题
分类问题
无监督学习
聚类问题
降维问题
机器学习发展到今天,涉及的范围已经远大于我们这几期介绍的,各种算法、应用推陈出新,发展出来的分支也越来越多,但不管算法多么高深、应用程序多么酷炫,从来就没有一种算法是能解决所有问题,反之,一个问题也经常不是某一种算法就能完全解决,更多的情况是将复杂的问题拆分成若干的小问题,再针对每个小问题采用不同的解决方法,再在每个小问题上不断地深入、细化。
因此,研究清楚这些基础的经典的学习算法是很有必要的。
接下来,我打算深入到这些经典问题中去,看看解决这些问题都有哪些方法,有了学习算法,我们又能解决哪些问题等等。
另外想说的是,由于本人才疏学浅,可能文章中有些错误、纰漏、不严谨的地方,也会有个人对知识理解不到位的地方,希望读者还是能多多指正,多多原谅。
关注公众号,获取更多内容~
领取专属 10元无门槛券
私享最新 技术干货