园子里介绍Accord.NET的文章不少,但是具体讲如何使用的反而不多,可能跟.NET在机器学习领域应用不多有关。诚然,如果做项目的话,可能用Python更好一些,但是如果把了解Accord.NET作为进入机器学习领域的一个接入点,对于.NET开发者来说可能更合适,并且Accord.NET还在不断的更新,源代码的注释和测试都很详细,配合自身的Samples,做一些简单的应用开发,还是很快的。所以权当作学习笔记,来入门使用Accord.NET。
1.本系列使用的资料
Accord.NET官网:http://accord-framework.net/index.html
Accord.NET的Github页面:https://github.com/accord-net/framework
入门用到的资料全部来源以上两个链接,源码可以在Github上下载,介绍Accord.NET的可以在官网上看看,总之Accord.NET是持续更新,有真实案例应用的开源项目。
2.临门一脚
安装Accord.NET,可以通过NuGet添加。但是这里,我们把源码的有关工程在本地编译成功,这样也更方便学习。本地编译的话,需要根据使用的VS版本,下载不同的Accord版本,现在最新的发行版是3.6.0,但是3.4.0及以后的版本更新到.NET4.6和VS2015了。这个在Github介绍页面上有,其实如果用的是比较新的VS(2017/2015),可以下载最新的版本,如果是VS2013,就下载3.3.0版本。
在机器学习方面,Accord.NET都遵循同一个模式:
--选择合适的学习算法,学习算法都有Learn(x,y)/Learn(x)函数;
--用Learn函数和训练数据创建模型;
--用模型的Transform/Decide/Scores/Probabilities/LogLikelihoods方法预测。
这个套路在学习源码和例程时会经常看到。我还是先打开Accord的源码吧。
所有的发行版的Github链接:https://github.com/accord-net/framework/releases
我下载了Accord.NET-3.3.0-archive.rar,下载后直接解压即可。
解压后,Sources是源代码,Samples就是自带的示例程序,大多数都是WinForm。打开Sources文件夹中的Accord.NET.sln和Samples文件夹中的Samples.sln,就打开了源代码工程和示例工程,至此也算进入了Accord.NET的大门了。