用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