说明(read me)
机器学习是这几年较热门的话题。由于其广泛应用,而被很多人认为无所不能。这是一种幼稚观点。
自己也陆陆续续被动的卷入一些跟机器学习毫无关系的行业任务中。
机器学习在特定应用场景下,可以解决传统数理方法难以解决的问题。
什么样的场景适合用机器学习方法,什么样的场景效果会很差,这里懒得介绍了,有兴趣欢迎讨论。
其实搞明白各种算法背后的原理,以及经典数理学科的发展,很自然就会有自己的结论。
其实,机器学习的算法和很多经典算法类似都有一定的历史,并不是只是从最近才突然出现。大概从05年左右,我自己也会关注一些比较有趣的算法。
不过我很少在成熟的商业和开源库上花时间。因为我自己不是机器学习或统计学从业人员,充其量算爱好者。
学习成熟的库,对我意义不大,而弄清楚原理似乎更有能吸引我。
了解其原理,才能使我们区别于只会“调参数”工程师。
曾经编写过好几个有监督学习的算法,但是这些算法只针对具体范例。一直没有勇气写通用算法。
其实,编写接近通用算法本身数学上不难,但是软件编写涉及很多技巧和通用性,是一件很好的杀死脑细胞活动。
还有些算法,知道方法,但是编写通用软件非常复杂,就懒得写了。主要是没有项目任务驱动,根本没有精力去编写。
想想很多成熟机器学习库的作者,他们既需要高超的编程技巧,又要付出巨大的辛苦,当然还要熟悉统计学和数学知识。
这里实现的主要都是经典机器学习方法,一些新兴时髦算法暂时未来得及编写。因时间关系,更新可能会较慢。