返回博客
技术博客
2024/3/28

医疗AI中的机器学习数学基础

深入理解医疗AI中使用的核心机器学习算法的数学原理,包括损失函数、优化算法和评估指标

机器学习数学深度学习算法

医疗AI中的机器学习数学基础

本文深入探讨医疗AI中核心机器学习算法的数学原理,帮助读者理解算法背后的机制。

线性回归

线性回归是医疗AI中最基础也最实用的算法之一。

模型定义

给定一组特征 x=(x1,x2,...,xn)\mathbf{x} = (x_1, x_2, ..., x_n),线性回归预测:

y^=wTx+b=i=1nwixi+b\hat{y} = \mathbf{w}^T \mathbf{x} + b = \sum_{i=1}^{n} w_i x_i + b

其中 w=(w1,w2,...,wn)\mathbf{w} = (w_1, w_2, ..., w_n) 是权重向量,bb 是偏置项。

损失函数

使用均方误差(MSE)作为损失函数:

L(w,b)=1mi=1m(y^(i)y(i))2=1mi=1m(wTx(i)+by(i))2\mathcal{L}(\mathbf{w}, b) = \frac{1}{m} \sum_{i=1}^{m} (\hat{y}^{(i)} - y^{(i)})^2 = \frac{1}{m} \sum_{i=1}^{m} (\mathbf{w}^T \mathbf{x}^{(i)} + b - y^{(i)})^2

梯度下降

参数更新公式:

wi:=wiαLwiw_i := w_i - \alpha \frac{\partial \mathcal{L}}{\partial w_i}

展开后:

Lwi=2mi=1m(wTx(i)+by(i))xi(i)\frac{\partial \mathcal{L}}{\partial w_i} = \frac{2}{m} \sum_{i=1}^{m} (\mathbf{w}^T \mathbf{x}^{(i)} + b - y^{(i)}) x_i^{(i)}

逻辑回归

逻辑回归用于二分类问题,在医疗诊断中广泛应用。

Sigmoid 函数

σ(z)=11+ez=ezez+1\sigma(z) = \frac{1}{1 + e^{-z}} = \frac{e^z}{e^z + 1}

预测函数

y^=σ(wTx+b)=11+e(wTx+b)\hat{y} = \sigma(\mathbf{w}^T \mathbf{x} + b) = \frac{1}{1 + e^{-(\mathbf{w}^T \mathbf{x} + b)}}

交叉熵损失

L(w,b)=1mi=1m[y(i)log(y^(i))+(1y(i))log(1y^(i))]\mathcal{L}(\mathbf{w}, b) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(\hat{y}^{(i)}) + (1 - y^{(i)}) \log(1 - \hat{y}^{(i)})]

神经网络

激活函数

ReLU(线性整流单元):

f(x)=max(0,x)={0if x<0xif x0f(x) = \max(0, x) = \begin{cases} 0 & \text{if } x < 0 \\ x & \text{if } x \geq 0 \end{cases}

Softmax 函数(多分类):

Softmax(zi)=ezij=1Kezj\text{Softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}

反向传播

链式法则:

Lw(l)=La(L)a(L)z(L)z(L)a(L1)a(1)w(1)\frac{\partial \mathcal{L}}{\partial w^{(l)}} = \frac{\partial \mathcal{L}}{\partial a^{(L)}} \cdot \frac{\partial a^{(L)}}{\partial z^{(L)}} \cdot \frac{\partial z^{(L)}}{\partial a^{(L-1)}} \cdots \frac{\partial a^{(1)}}{\partial w^{(1)}}

简写为:

δ(l)=Lz(l)=W(l+1)Tδ(l+1)σ(z(l))\delta^{(l)} = \frac{\partial \mathcal{L}}{\partial z^{(l)}} = \mathbf{W}^{(l+1)^T} \delta^{(l+1)} \odot \sigma'(z^{(l)})

评估指标

混淆矩阵

指标定义
准确率 (Accuracy)TP+TNTP+TN+FP+FN\frac{TP + TN}{TP + TN + FP + FN}
精确率 (Precision)TPTP+FP\frac{TP}{TP + FP}
召回率 (Recall)TPTP+FN\frac{TP}{TP + FN}
F1分数2Precision×RecallPrecision+Recall2 \cdot \frac{Precision \times Recall}{Precision + Recall}

AUC-ROC

AUC(曲线下面积)定义为:

AUC=01TPR(FPR1(t))dt=TPR(t)FPR(t)dtAUC = \int_0^1 TPR(FPR^{-1}(t)) \, dt = \int_{-\infty}^{\infty} TPR(t) \cdot FPR'(t) \, dt

正则化

L1 正则化(Lasso)

LL1(w)=L(w)+λi=1nwi\mathcal{L}_{L1}(\mathbf{w}) = \mathcal{L}(\mathbf{w}) + \lambda \sum_{i=1}^{n} |w_i|

L2 正则化(Ridge)

LL2(w)=L(w)+λi=1nwi2\mathcal{L}_{L2}(\mathbf{w}) = \mathcal{L}(\mathbf{w}) + \lambda \sum_{i=1}^{n} w_i^2

Dropout

在训练时以概率 pp 随机丢弃神经元:

y^=1pyBernoulli(p)\hat{y} = \frac{1}{p} \cdot y \cdot \text{Bernoulli}(p)

优化算法

Adam 优化器

动量更新:

mt=β1mt1+(1β1)gtm_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t

RMSProp 更新:

vt=β2vt1+(1β2)gt2v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2

偏差校正:

m^t=mt1β1t,v^t=vt1β2t\hat{m}_t = \frac{m_t}{1 - \beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1 - \beta_2^t}

参数更新:

θt=θt1αm^tv^t+ϵ\theta_t = \theta_{t-1} - \alpha \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon}

总结

算法适用场景核心公式
线性回归连续值预测y^=wTx+b\hat{y} = \mathbf{w}^T \mathbf{x} + b
逻辑回归二分类y^=σ(wTx+b)\hat{y} = \sigma(\mathbf{w}^T \mathbf{x} + b)
神经网络复杂模式链式法则反向传播
SVM高维分类最大化间隔

注意:以上公式中的符号含义:mm 为样本数,nn 为特征数,α\alpha 为学习率,λ\lambda 为正则化系数。

作者:Genapify Team