Java程序员实战机器学习——从聚类算法开始
本文适合有编程经验的程序员,是一篇机器学习的”Hello world!”,没什么理论知识,在意理论正确性的人请绕道。 前言 人工智能无疑是近年来最火热的技术话题之一,以机器学习为代表的人工智能技术,已经慢慢渗透到我们生活的方方面面,任何事物只要沾上机器学习的边,似乎就变得高大上了。作为处于技术大潮中程序员,我们离机器学习是那么地近,却又 “只在此山中,云深不知处”。 为什么要用Java/Kotlin? 不可否认,Python才是机器学习中的主流语言,但是以我实际的机器学习项目来看,Python适用于算法研究,它的稳定性和生态难以支撑起一个大型的应用,随着Spark、dl4j等一系列java组件的流行,可以预见java将会是大型机器学习应用的主流平台。 由此可知机器学习技术的应用,是Java程序员未来的核心能力之一,但是作为程序员的我们,谈如何入门机器学习呢?在此我们先抛开机器学习中那些繁杂的概念,从机器学习中最有代表性的聚类算法开始实践。 没错,我是以Java的名义“骗”你进来的,但我相信Java基础良好的人,阅读以下的Kotlin代码完全没有问题,下面的代码也完全可以翻译成Java代码,这刚好是一个很有意义的练习。本文的示例代码之所以用Kotlin,完全是Kotlin能更简洁地表达我的相法,且与Java的兼容性相当完美。 唯一的背景知识 机器学习有无数分类和具体方法