1. 多核学习[MKL]
解析:核方法是解决非线性模式分析问题的一种有效方法,但在一些复杂情形下,由单个核函数[线性核、多项式核、径向基核、Sigmoid核、Fourier核等]构成的核机器并不能满足诸如数据异构或不规则、样本规模巨大、样本不平坦分布等实际的应用需求,因此将多个核函数进行组合[合成核、多尺度核、无限核],以获得更好的结果是一种必然选择。
说明:常见的多核学习方法包括Simple MKL[SMKL];Generalized MKL[GMKL];Lasso-based MKL[GLMKL];SMO Projected Gradient Descent Generalized MKL[SPG-GMKL];EasyMKL等。
2. 典型相关分析[CCA]
解析:典型相关分析[canonical correlation analysis]就是利用综合变量对之间的相关关系来反映两组指标之间的整体相关性的多元统计分析方法。它的基本原理是:为了从总体上把握两组指标之间的相关关系,分别在两组变量中提取有代表性的两个综合变量U1和V1(分别为两个变量组中各变量的线性组合),利用这两个综合变量之间的相关关系来反映两组指标之间的整体相关性。
3. 主成分分析[PCA]
解析:PCA是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。KL变换即最优正交线性变换,相应的特征提取方法被称为PCA方法。
4. 高斯过程
说明:基于高斯过程的分类和回归模型。
5. Searchlight
6. 关联相关分析
7. 支持向量机、信息向量机和相关向量机
8. 独立成分分析[ICA]
9. 因子分析[FA]
10. 奇异值分解[SVD]
11. Lasso回归
12. 岭回归
13. 安装MKLpy类库 [2]
解析:
[1]pip install "numpy-1.11.3+mkl-cp27-cp27m-win_amd64.whl"
[2]pip install cvxopt-1.1.9-cp27-cp27m-win_amd64.whl
[3]pip install mklpy
Ubuntu环境可能遇到的问题,如下所示:
[1]/usr/bin/ld: cannot find -llapack;/usr/bin/ld: cannot find -lblas
解析:sudo apt-get install liblapack-dev;sudo apt-get install libblas-dev;sudo apt-get install libsuitesparse-dev
说明:配置环境变量export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages。
[2]ImportError: /home/XXX/anaconda2/bin/../lib/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by /usr/lib/liblapack.so.3)
解析:export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgfortran.so.3;sudo cp /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /home/XXX/anaconda2/pkgs/libgfortran-3.0-0/lib/
14. 遗传算法
15. 粒子群算法
16. Relief算法
17. 一般线性模型,一般非线性模型,广义线性模型,混合线性模型
解析:
[1]一般非线性模型没有明确的随机误差分布,而广义线性模型的随机误差分布是明确的,比如二项分布、Poisson分布、负二项分布等[指数分布族],而当其为正态分布时,广义线性模型和一般线性模型是等价的。
[2]混合线性模型对一般线性模型进行了扩展,除了自变量外,还在模型中加入了一个随机效应变量,使得混合线性模型对内部相关性数据和方差不齐的数据也有很好的效果。
18. scikit-learn模型持久化
解析:
from sklearn.externals import joblib
joblib.dump(clf, "train_model.model")
clf = joblib.load("train_model.model")
19. 高斯判别分析[Gaussian Discriminant Analysismodel,GDA]
20. scikit-learn数据归一化 [3]
解析:
[1]preprocessing.scale(X):标准正太分布,即均值为0,方差为1。
[2]preprocessing.normalize(X):对每个样本[行向量]计算其p-范数,然后对该样本中每个元素除以该范数,这样处理的结果是使得每个处理后样本的p-范数[l1-norm,l2-norm]等于1。
[3]scaler = preprocessing.StandardScaler().fit(X)和scaler.transform(X):其中,scaler.mean_表示均值,scaler.scale_表示标准差。
说明:from sklearn import preprocessing。
21. 模型选择准则
解析:
[1]AIC[Akaike Information Criterion]:赤池信息准则。
[2]BIC[Bayesian Information Criterion]:贝叶斯信息准则。
22. SVM多分类算法 [4]
解析:
[1]One VS Rest [OVR]
[2]One VS One [OVO]
说明:除此之外,还有层次支持向量机[H-SVMs],有向无环图支持向量机[DAG-SVMs]等。Windows版本的工具svm-scale.exe进行训练和测试数据的归一化,svm-train.exe进行模型训练,svm-predict.exe进行预测。
23. 群蚁算法
24. SVM and Kernel Methods [SVM-KM] Matlab Toolbox [5][6]
解析:进行测试TestSanityCheck.m的时候,出现错误如下所示:
[1]exclassnpa ;% Example of SVM Classification Using NPA algorithm
[2]exreg1dls ;% Large Scale SVM regression
[3]FeatSelExample ;% Demo of the SVM based Variable Selection in Rakotomamonjy et al.
[4]exclasscheckershaarkernel ;% Comparing Haar Kernel and Gaussian Kernel on
[5]extensorwavkernel ;% Example of the different possibility of wavelet kernel
25. 核矩阵
解析:核矩阵是样本之间通过核函数影射之后得到的,每两个样本之间进行一次核函数影射。
参考文献:
[1] 多核学习在图像分类中的应用:多核学习在图像分类中的应用 _百度技术博客的技术博客_51CTO博客
[2] MKLpy 0.1.1.25b:MKLpy · PyPI
[3] Preprocessing data:6.3. Preprocessing data — scikit-learn 1.0.2 documentation
[4] LIBSVM -- A Library for Support Vector Machines:LIBSVM -- A Library for Support Vector Machines
[5] SimpleMKL Toolbox:SimpleMKL Toolbox
[6] SVM and Kernel Methods Matlab Toolbox:SVM and Kernel Methods Matlab toolbox