IASML Logo

IASML

Intelligent Agricultural Solutions of Machine Learning

模型原理

支持向量机(SVM)原理

超平面方程

\[ \mathbf{w} \cdot \mathbf{x} + b = 0 \]

优化目标

\[ \min_{\mathbf{w},b} \frac{1}{2}\|\mathbf{w}\|^2 + C\sum_{i=1}^n \xi_i \]

核心特点

  • 最大间隔分类决策边界
  • 核技巧处理非线性数据
  • 正则化控制模型复杂度

线性回归原理

目标函数

\[ \min_{w} \|Xw - y\|_2^2 \]

正则化

\[ \alpha \|w\|_1 \] (L1) / \[ \alpha \|w\|_2^2 \] (L2)

核心特点

  • 最小二乘优化
  • 支持L1/L2正则化
  • 特征系数可解释

Ridge回归原理

目标函数

\[ \min_{w} \|Xw - y\|_2^2 + \alpha \|w\|_2^2 \]

核心特点

  • L2正则化线性模型
  • 解决多重共线性
  • 闭式解:\( w = (X^TX + \alpha I)^{-1}X^Ty \)

Lasso回归原理

目标函数

\[ \min_{w} \frac{1}{2n}\|Xw - y\|_2^2 + \alpha \|w\|_1 \]

核心特点

  • L1正则化特征选择
  • 产生稀疏解
  • 坐标下降法求解

ElasticNet原理

目标函数

\[ \min_{w} \frac{1}{2n}\|Xw - y\|_2^2 + \alpha(\rho\|w\|_1 + \frac{1-\rho}{2}\|w\|_2^2) \]

核心特点

  • L1/L2正则化组合
  • 平衡特征选择与稳定性
  • 适用于高维数据

决策树原理

信息增益

\[ IG(D_p) = I(D_p) - \sum_{j=1}^k \frac{N_j}{N_p}I(D_j) \]

基尼指数

\[ Gini(t) = 1 - \sum_{j=1}^c [p(j|t)]^2 \]

核心特点

  • 递归特征划分
  • 支持分类/回归
  • 树剪枝防过拟合

随机森林原理

集成预测

\[ \hat{y} = \frac{1}{B} \sum_{b=1}^B T_b(x) \]

特征采样

\( m \approx \sqrt{p} \) (分类) / \( m \approx p/3 \) (回归)

核心特点

  • Bagging集成方法
  • 行采样 + 列采样
  • 降低方差

LightGBM原理

梯度提升

\[ F_m(x) = F_{m-1}(x) + \nu \gamma_m h_m(x) \]

直方图算法

\( O(\#data \times \#bins) \)

核心特点

  • 基于直方图的GBDT
  • Leaf-wise生长策略
  • 支持类别特征

XGBoost原理

目标函数

\[ \mathcal{L}^{(t)} = \sum_{i=1}^n l(y_i, \hat{y}_i^{(t-1)} + f_t(x_i)) + \Omega(f_t) \]

泰勒展开

\[ \mathscr{L}^{(t)}\approx\sum_{i=1}^{n}\left[g_i f_t(x_i) + \frac{1}{2} h_i f_t^2(x_i)\right] + \Omega(f_t) \] \

核心特点

  • 二阶泰勒展开
  • Level-wise树生长
  • 并行特征处理

偏最小二乘原理

潜变量

\( X = TP^T + E \)

\( Y = UQ^T + F \)

核心特点

  • 潜变量空间投影
  • 最大化协方差
  • 处理多重共线性

梯度提升机原理

加法模型

\[ F(x) = \sum_{m=1}^M \gamma_m h_m(x) \]

梯度下降

\[ r_{im} = -\left[\frac{\partial L(y_i, F(x_i))}{\partial F(x_i)}\right]_{F(x)=F_{m-1}(x)} \]

核心特点

  • 串行提升树
  • 梯度下降优化
  • Shrinkage收缩率

卷积神经网络原理

卷积运算

\[ (I * K)(i,j) = \sum_m \sum_n I(i+m, j+n)K(m,n) \]

池化

\( \text{MaxPool}(x)_{i,j} = \max_{m,n \in \mathcal{N}(i,j)} x_{m,n} \)

核心特点

  • 局部感受野
  • 权值共享
  • 空间层次特征

多层感知机原理

前向传播

\[ a^{(l)} = \sigma(W^{(l)}a^{(l-1)} + b^{(l)}) \]

反向传播

\[ \frac{\partial E}{\partial w_{ij}^{(l)}} = \delta_i^{(l)} a_j^{(l-1)} \]

核心特点

  • 全连接网络
  • 非线性激活函数
  • 端到端学习

IASML智慧农业分析平台

核心功能

基因组选择

支持PLINK二进制格式和TXT格式的基因型数据

分子表型预测

支持TXT格式的组学数据

IASML 的使用

基因组选择

# 使用特定模型进行基因组选择
IASML --bfile random50k --phe phenotype.test2.txt --phe-pos 7 --model ridge --out result
# 使用给定参数训练模型
IASML --bfile random50k --phe phenotype.test2.txt --phe-pos 7 --model-params result_model.txt --out result
# 使用预训练神经网络预测
IASML --bfile random50k --phe phenotype.test2.txt --phe-pos 7 --model-frame result_final_model.keras --out result

组学数据表型预测

# 使用特定模型进行预测
IASML --tfile data.txt --phe phenotype.test2.txt --phe-pos 7 --model ridge --out result
# 使用给定参数训练模型
IASML --tfile data.txt --phe phenotype.test2.txt --phe-pos 7 --model-params result_model.txt --out result
# 使用预训练神经网络预测
IASML --tfile data.txt --phe phenotype.test2.txt --phe-pos 7 --model-frame result_final_model.keras --out result

表型交叉验证数据集剖分

# 执行交叉验证剖分
IASML --phe phenotype.test2.txt --cv-split 5 --split-seed 42 --out result

IASML 的参数介绍

输入参数

--bfile 基因型文件前缀,用于指定PLINK二进制格式的基因型数据文件
--tfile 组学文件名,用于指定TXT格式的组学数据文件
--phe 表型文件名,包含需要进行预测的表型数据
--phe-pos 目标表型所处列号,指定需要预测的表型在文件中的位置
--f 因子型协变量所在列号,用于指定分类变量
--n 数值型协变量所在列号,用于指定连续变量
--model-params 模型参数文件路径,包含预定义的模型参数
--model-frame 神经网络模型文件路径,用于加载预训练的神经网络模型

模型参数

--model 模型名称,支持13种机器学习算法
--n-iter 参数搜索组合数,默认值为8
--cv-search 随机搜索交叉验证折数,默认值为3

运行参数

--cv-split 表型分割交叉验证折数,默认值为5
--split-seed 表型分割随机种子
--threads 使用线程数,用于控制并行计算

输出参数

--out 输出文件名前缀,用于指定结果文件的命名

模型参数说明

SVM 超参数说明

参数名类型推荐范围描述
kernelstring["linear", "rbf", "poly"]核函数类型
gammastring["scale", "auto"]核函数系数
epsilonfloat[0.01, 0.1, 0.2]控制间隔带的宽度
Cfloat[0.1, 1, 10, 100]正则化参数
SVM 超参数文件示例
svm
kernel: rbf
gamma: auto
epsilon: 0.1
C: 0.1

Ridge 超参数说明

参数名类型推荐范围描述
alphafloatnp.logspace(-4, 0, 10)正则化强度(L2惩罚项系数)
solverstring["auto", "svd", "cholesky", "lsqr"]求解器类型
Ridge 超参数文件示例
ridge
alpha: 1.0
solver: auto

Lasso 超参数说明

参数名类型推荐范围描述
alphafloatnp.logspace(-4, 0, 20)正则化强度(L1惩罚项系数)
Lasso 超参数文件示例
lasso
alpha: 0.379

ElasticNet 超参数说明

参数名类型推荐范围描述
alphafloatnp.logspace(-4, 0, 10)总体正则化强度
l1_ratiofloat[0.1, 0.5, 0.7, 0.9]L1正则化占比
ElasticNet 超参数文件示例
elasticnet
alpha: 1.0
l1_ratio: 0.5

决策树参数说明

参数名类型推荐范围描述
max_depthint[10, 20, None]树的最大深度
min_samples_splitint[2, 5, 10]分裂内部节点所需的最小样本数
min_samples_leafint[1, 2, 4]叶节点所需的最小样本数
max_featuresstring[None, 'sqrt', 'log2']寻找最佳分割时考虑的特征数量
决策树超参数文件示例
decision_tree
max_depth: 10
min_samples_split: 5
min_samples_leaf: 2
max_features: log2

随机森林参数说明

参数名类型推荐范围描述
n_estimatorsint[100, 200, 300]决策树数量
max_depthint[10, 20, None]树的最大深度
min_samples_splitint[2, 5, 10]分裂内部节点所需的最小样本数
min_samples_leafint[1, 2, 4]叶节点所需的最小样本数
max_featuresstring[None, 'sqrt', 'log2']寻找最佳分割时考虑的特征数量
随机森林超参数文件示例
random_forest
n_estimators: 200
max_depth: 20
min_samples_split: 5
min_samples_leaf: 4
max_features: log2

LightGBM 参数说明

参数名类型推荐范围描述
n_estimatorsint[100, 200, 300]提升树的数量
learning_ratefloat[0.01, 0.1, 0.2]学习率
max_depthint[3, 5, 7]树的最大深度
LightGBM 超参数文件示例
lightgbm
n_estimators: 100
max_depth: 3
learning_rate: 0.01

XGBoost 参数说明

参数名类型推荐范围描述
n_estimatorsint[100, 200, 300]提升树数量
learning_ratefloat[0.01, 0.1, 0.2]学习率
max_depthint[3, 5, 7]树的最大深度
XGBoost 超参数文件示例
xgboost
n_estimators: 100
max_depth: 3
learning_rate: 0.01

PLS 参数说明

参数名类型推荐范围描述
n_componentsintnp.arange(1, 100)保留成分数
PLS 超参数文件示例
pls
n_components: 63

GBM 参数说明

参数名类型推荐范围描述
n_estimatorsint[50, 500]提升树数量
GBM 超参数文件示例
gbm
n_estimators: 100
max_depth: 3
learning_rate: 0.01

快速导航

IASML 核心包 1.0

  • 13种机器学习算法
  • 跨平台支持
  • 灵活的参数搜索策略

IASML-Windows 一体包 1.0

  • 无需配置环境
  • 无需安装
  • 下载即用

IASML的安装

解压后一键安装,即可使用(请确保本地配置有python3.8以上环境)

tar -xzvf IASML-1.0.0.tar.gz
pip install .
IASML
进入在线使用