开发者社区> 数据之巅> 正文

[置顶].NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍

简介:
+关注继续查看

    Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来。因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习算法以及提供计算机视频、音频、信号处理以及统计应用相关的解决方案。该项目使用C#语言编写,项目主页:http://accord-framework.net/

    说明:该文章只是一个基本介绍,主要内容是翻译的官方文档和介绍,部分英文表述个人能力有限,不太熟悉,所以直接照搬原文,有比较确切的知道中文名称的可以提醒一些我,非常感。本人将使用该组件进行一些简单的数据挖掘和机器学习任务,过程和代码都将发表在本博客,有兴趣的可以关注。

NET开源目录:【目录】本博客其他.NET开源项目文章目录

本文原文地址:.NET平台开源项目速览(12)机器学习组件Accord.NET框架功能介绍

1.基本功能与介绍

    Accord.NET为.NET应用程序提供了统计分析、机器学习、图像处理、计算机视觉相关的算法。Accord.NET框架扩展了AForge.NET框架,提供了一些新功能。同时为.NET环境下的科学计算提供了一个完整的开发环境。该框架被分成了多个程序集,可以直接从官网下载安装文件或者使用NuGet得到。可以参考以下链接:https://github.com/accord-net/framework/wiki

1.1 框架的三大功能模块

Accord.NET框架主要有三个大的功能性模块。分别为科学技术,信号与图像处理,支持组件。下面将对3个模型的命名空间和功能进行简单介绍。可以让大家更快的接触和了解其功能是否是自己想要的,下面是主要的命名空间介绍。

1.1.1 科学计算

Accord.Math:包括矩阵扩展程序,以及一组矩阵数值计算和分解的方法,也包括一些约束和非约束问题的数值优化算法,还有一些特殊函数以及其他一些辅助工具。

Accord.Statistics:包含概率分布、假设检验、线性和逻辑回归等统计模型和方法,隐马尔科夫模型,(隐藏)条件随机域、主成分分析、偏最小二乘判别分析、内核方法和许多其他相关的技术。

Accord.MachineLearning: 为机器学习应用程序提供包括支持向量机,决策树,朴素贝叶斯模型,k-means聚类算法,高斯混合模型和通用算法如Ransac,交叉验证和网格搜索等算法。

Accord.Neuro:包括大量的神经网络学习算法,如Levenberg-Marquardt,Parallel Resilient Backpropagation,Nguyen-Widrow初始化算法,深层的信念网络和许多其他神经网络相关的算法。具体看参考帮助文档。

1.1.2 信号与图像处理

Accord.Imaging:包含特征点探测器(如Harris, SURF, FAST and  FREAK),图像过滤器、图像匹配和图像拼接方法,还有一些特征提取器。

Accord.Audio:包含一些机器学习和统计应用程序说需要的处理、转换过滤器以及处理音频信号的方法。

Accord.Vision:实时人脸检测和跟踪,以及对人流图像中的一般的检测、跟踪和转换方法,还有动态模板匹配追踪器。

1.1.3 支持组件

主要是为上述一些组件提供数据显示,绘图的控件,分为以下几个命名空间:

Accord.Controls:包括科学计算应用程序常见的柱状图、散点图和表格数据浏览。

Accord.Controls.Imaging:包括用来显示和处理的图像的WinForm控件,包含一个方便快速显示图像的对话框。 

Accord.Controls.Audio:显示波形和音频相关性信息的WinForm控件。

Accord.Controls.Vision:包括跟踪头部,脸部和手部运动以及其他计算机视觉相关的任务WinForm控件。

1.2 支持的算法介绍

下面将Accord.NET框架包括的主要功能算法按照类别进行介绍。来源主要是官网介绍,进行了简单的翻译和整理。

1.2.1 分类(Classification)

SVM(支持向量机)、Logistic Regression(逻辑回归)、Decision Trees(决策树)、 Neural Networks(神经网络)、Deep Learning(深度学习)(Deep Neural Networks深层神经网络)、Levenberg-Marquardt with Bayesian Regularization、Restricted Boltzmann Machines(限制玻耳兹曼机)、Sequence classification (序列分类),Hidden Markov Classifiers and Hidden Conditional Random Fields(隐马尔科夫分类器和隐藏条件随机域)。

1.2.2 回归(Regression)

Multiple linear regression(多元线性回归-单因变量多自变量)、Multivariate linear regression(多元线性回归-多因变量多自变量)、polynomial regression (多项式回归)、logarithmic regression(对数回归)、Logistic regression(逻辑回归)、multinomial logistic regression(多项式逻辑回归)(softmax) and generalized linear models(广义线性模型)、L2-regularized L2-loss logistic regression , L2-regularized logistic regression , L1-regularized logistic regression , L2-regularized logistic regression in the dual form and regression support vector machines。

1.2.3 聚类(Clustering)

K-Means、K-Modes、Mean-Shift(均值漂移)、Gaussian Mixture Models(高斯混合模型)、Binary Split(二元分裂)、Deep Belief Networks(深层的信念网络)、 Restricted Boltzmann Machines(限制玻耳兹曼机)。聚类算法可以应用于任意数据,包括图像、数据表、视频和音频。

1.2.4 概率分布(Distributions)

包括40多个分布的参数和非参数估计。包括一些常见的分布如正态分布、柯西分布、超几何分布、泊松分布、伯努利;也包括一些特殊的分布如Kolmogorov-Smirnov , Nakagami、Weibull、and Von-Mises distributions。也包括多元分布如多元正态分布、Multinomial 、Independent 、Joint and Mixture distributions。

1.2.5 假设检验(Hypothesis Tests)

超过35统计假设测试,包括单向和双向方差分析测试、非参数测试如Kolmogorov-Smirnov测试和媒体中的信号测试。contingency table tests such as the Kappa test,with variations for multiple tables , as well as the Bhapkar and Bowker tests; and the more traditional Chi-Square , Z , F , T and Wald tests .

1.2.6 核方法(Kernel Methods)

内核支持向量机,多类和多标签向量机、序列最小优化、最小二乘学习、概率学习。Including special methods for linear machines such as LIBLINEAR's methods for Linear Coordinate Descent , Linear Newton Method , Probabilistic Coordinate Descent , Probabilistic Coordinate Descent in the Dual , Probabilistic Newton Method for L1 and L2 machines in both the dual and primal formulations .

1.2.7 图像(Imaging)

兴趣和特征点探测器如Harris,FREAK,SURF,FAST。灰度共生矩阵,Border following,Bag-of-Visual-Words (BoW),RANSAC-based homography estimation , integral images , haralick textural feature extraction , and dense descriptors such as histogram of oriented gradients (HOG) and Local Binary Pattern (LBP).Several image filters for image processing applications such as difference of Gaussians , Gabor , Niblack and Sauvola thresholding。还有几个图像处理中经常用到的图像过滤器。

1.2.8 音频信号(Audio and Signal)

音频信号的加载、解析、保存、过滤和转换,如在空间域和频域应用音频过滤器。WAV文件、音频捕捉、时域滤波器,高通,低通,波整流过滤器。Frequency-domain operators such as differential rectification filter and comb filter with Dirac's delta functions . Signal generators for Cosine , Impulse , Square signals.

1.2.9 视觉(Vision)

实时人脸检测和跟踪,以及图像流中检测、跟踪、转换的一般的检测方法。Contains cascade definitions , Camshift and Dynamic Template Matching trackers . Includes pre-created classifiers for human faces and some facial features such as noses。

1.3 相关资源

    从项目主页:http://accord-framework.net/下载的“Archive”压缩包中,包括了几乎所有的在线资源。如下图,介绍几个主要的资源:

    Debug是一些用于调试的程序集,Docs是帮助文档,Externals是一些辅助的组件,Release是不同.NET环境的Dll程序集版本,Samples是案例源代码,Setup是安装的程序,Sources是项目的源代码,Unit Tests是单元测试代码。

Accord.NET框架源代码托管在GitHub:

https://github.com/accord-net/framework/

上面有大量的入门资源和教程,例如,查看页面右边的列表栏切换:

https://github.com/accord-net/framework/wiki/How-to-use

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
teachable-machine:探索机器学习如何工作,浏览器中实时浏览
教学机器是一个实验,让所有人都非常方便的探索机器学习,在浏览器中实时浏览,不需要编程。学习更多实验,然后亲自尝试它 访问:https://teachablemachine.
868 0
ubuntu 64位android项目报错的解决方案,打开64位 Ubuntu 的32位支持功能
ubuntu的64位下的android环境,说实话,还真得费点精力了,解决一个问题,又出来一个新问题。 小编昨天刚好不容易将android的环境搭建好了,这不,刚建了个项目,直接就报错,下面是罗列出的几条: 1.
864 0
《构建实时机器学习系统》一1.7 案例:Netflix在机器学习竞赛中学到的经验
本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第1章,第1.7节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1593 0
+关注
数据之巅
专注于.NET平台开源项目,微软Power BI技术与机器学习算法
93
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载