Swift51.com
Swift 头像
Swift  2017-05-03 00:08

Swift 版 AI  模块工具箱 AIToolbox

回复:0  查看:3899  感兴趣:45  赞:0  

用Swift编写的AI模块的工具箱:图形/树,线性回归,支持向量机,神经网络,PCA,KMeans,遗传算法,MDP,高斯混合,逻辑回归。

支持的类/算法:

Graphs/Trees
    Depth-first search
    Breadth-first search
    Hill-climb search
    Beam Search
    Optimal Path search

Alpha-Beta (game tree)

Genetic Algorithms
    mutations
    mating
    integer/double alleles

Constraint Propogation
    i.e. 3-color map problem

Linear Regression
    arbitrary function in model
    regularization can be used
    convenience constructor for standard polygons
    Least-squares error

Non-Linear Regression
    parameter-delta
    Gradient-Descent
    Gauss-Newton

Logistic Regression
    Use any non-linear solution method
    Multi-class capability

Neural Networks
    multiple layers, several non-linearity models
    on-line and batch training
    feed-forward or simple recurrent layers can be mixed in one network
    simple network training using GPU via Apple's Metal
    LSTM network layer implemented - needs more testing
    gradient check routines

Support Vector Machine
    Classification
    Regression
    More-than-2 classes classification

K-Means
    unlabelled data grouping

Principal Component Analysis
    data dimension reduction

Markov Decision Process
    value iteration
    policy iteration
    fitted value iteration for continuous state MDPs - uses any Regression class for fit
            (see my MDPRobot project on github for an example use)
    Monte-Carlo (every-visit, and first-visit)
    SARSA

Gaussians
    Single variable
    Multivariate - with full covariance matrix or diagonal only

Mixture Of Gaussians
    Learn density function of a mixture of gaussians from data
    EM algorithm to converge model with data

Validation
    Use to select model or parameters of model
    Simple validation (percentage of data becomes test data)
    N-Fold validation

Deep-Network
    Convolution layers
    Pooling layers
    Fully-connected NN layers
    multi-threaded

Plotting
    NSView based MLView for displaying regression data, classification data, functions, and classifier areas!
    UIView based MLView for iOS applications, same as NSView based for macOS


相关开源代码