# 1 机器学习基础 ## 1.1 机器学习分类 ### 1.1.1 监督学习(Supervised Learning) 使用带有标签的数据集训练,常见算法包括: - 回归(Regression) - 分类(Classification) ### 1.1.2 无监督学习(Unsupervised Learning) 使用没有标签的数据集训练,常见算法包括: - 降维(Dimension Reduction) - 聚类(Clustering) ## 1.2 模型评估指标 ### 1.2.1 回归指标 这些指标用于衡量回归模型预测值与实际值之间的差异: - 均方误差(Mean Square Error):$MSE = \frac{1}{n}\sum_{i=1}^{n} (y_i - \hat{y_i})^2$ - 均方根误差(Root Mean Squared Error):$RMSE = \sqrt{MSE}$ - 平均绝对误差(Mean Absolute Error, MAE):$MAE = \frac{1}{n}\sum_{i=1}^{n} \lvert y_i - \hat{y_i}\rvert$ ### 1.2.2 分类指标 这些指标用于衡量分类模型的性能: - 混淆矩阵 | 1 | 2 | | :--: | :--: | | 3 | 4 | - 准确率(Accuracy):$\frac{\rm{TP} + \rm{TN}}{\rm{TP} + \rm{TN} + \rm{FP} + \rm{FN}}$,模型的整体表现 - 精确率(Precision):$\frac{\rm{TP}}{\rm{TP} + \rm{FP}}$,预测为**True/Positive**的准确率 - 召回(Recall):$\frac{\rm{TP}}{\rm{TP} + \rm{FN}}$,实际为**True/Positive**被准确预测的占比 - 特异度(Specificity):$\frac{\rm{TN}}{\rm{TN} + \rm{FP}}$,实际为**False/Negative**被准确预测的占比 - F1分数(F1-Score):$2\cdot \frac{\rm{Precision}\cdot\rm{Recall}}{\rm{Precision} + \rm{Recall}} = \frac{2 \rm{TP}}{{2\rm{TP} + \rm{FP} + 2\rm{FN}}}$,Precision和Recall的**调和平均值**,平衡了两者的权重 - ROC曲线(ROC Curve):ROC曲线反映了**真正例率(Ture Positive Rate,$\frac{\rm{TP}}{\rm{TP} + \rm{FN}}$,纵轴)**与**假正例率(False Postive Rate$\frac{\rm{FP}}{\rm{FP} + \rm{TN}}$,横轴)**的权衡 - AUC(Area Under Curve):ROC曲线下的面积,越接近1,模型性能越好 # 2.数据预处理 ## 2.1 数据清洗 ### 2.1.1 缺失值处理 常见处理方法包括: - 删除缺失值 - 填充缺失值(0,均值,中位数,众数,或使用模型/算法预测缺失值) - 标记缺失值(添加新特征标记缺失情况) ### 2.1.2 异常值处理 常见处理方法包括: - 检测异常值(3$\sigma$原则,箱线图中的IQR) - 处理异常值(删除/替换) ## 2.2 特征工程 ### 2.2.1 数据类型转换 将分类数据编码为数值数据,常见处理方法包括: - 独热编码(One-Hot Encoding):将分类数据转换为数值数据 - 词袋(Bag of Words):将文本数据转换为数值数据 ### 2.2.2 标准化与归一化 - 标准化(Standardization):将数据转换为均值为0、标准差为1的分布,$\tilde{x} = \frac{x-\mu}{\sigma}$ - 归一化(Min-max Scaling/Normalization):将数据缩放到$ \left[ 0, 1 \right]$,$\tilde{x} = \frac{x-x_{min}}{x_{max}-x_{min}}$ - Box-Cox变换(Box-Cox Transformation):将非正态分布的数据转换为接近正态分布, $$ \tilde{x} = \begin{cases} \begin{aligned} &\frac{x^{\lambda} - 1}{\lambda}, & \lambda \neq 0 \\ &\ln(x), & \lambda = 0 \end{aligned} \end{cases} $$ ### 2.2.3 特征选择 …… ### 2.2.4 特征构造 …… ## 2.3 数据集划分 …… # 3. 回归(Regression) ## 3.1 线性回归(Linear Regression) $$ y = \bold{w}^{T} \bold{x} + \epsilon $$ 其中,$\bold{w}$被称为回归权重(regression weights),$\epsilon$被称为剩余误差(residual error,均值为0且独立于$\bold{x}$)。上面的式子可以写为矩阵形式,如下: $$ \bold{y} = \bold{X}\bold{w} + \hat{\epsilon} $$ 通常,**最小二乘法**(Least Squares)被用于计算回归权重,解析解可以写为: $$ \bold{w} = (\bold{X}^T\bold{X})^{-1}\bold{X}^T\bold{y} $$ ### 3.1.1 正则化(Regularization) 为了提升模型的泛化能力,防止过拟合,线行回归通常会引入正则化项。常见的正则项通常包括: - 岭回归(Ridge regression):$\lambda\lVert \bold{w} \rVert^2 = \lambda\sum_{d=1}^{D} w_d^2$ - Lasso回归(Lasso regression):$\lambda\lVert \bold{w} \rVert_1^2 = \lambda\sum_{d=1}^{D} \lvert w_d \rvert$ - 弹性网(Elastic Net):岭回归和Lasso回归的结合,$\lambda_1\lVert \bold{w} \rVert^2 + \lambda_2\lVert \bold{w} \rVert_1^2 = \lambda_1\sum_{d=1}^{D} w_d^2 + \lambda_2\sum_{d=1}^{D} \lvert w_d \rvert$ ## 3.2 多项式回归(Polynomial Regression) 多项式回归是线性回归的简单扩展 ## 3.3 核机器(Kernel Machine) …… # 4.分类 ## 4.1 逻辑回归(Logistic Regression) 逻辑回归基于Sigmoid函数,$\rm{Sig}(x) = \frac{1}{1 + e^{-x}}$。将Sigmoid函数与线性回归结合,得到 $$ g(\bold{w}^T\bold{x} + \epsilon) = \frac{1}{1 + e^{-(\bold{w}^T\bold{x} + \epsilon)}} $$ 其中$\bold{w}$是权重(regression weights),$\epsilon$是误差,如前。函数的输出是概率值。一般地, - 当$g(\bold{w}^T\bold{x} + \epsilon) \geq 0.5$,预测$\bold{x}$为类别1 - 当$g(\bold{w}^T\bold{x} + \epsilon) < 0.5$,预测$\bold{x}$为类别0 这个模型一般使用**交叉熵损失(Cross-Entropy Loss)**作为损失函数, $$ L() $$ ## 4.2 支持向量机(Support Vector Machines) ## 4.3 决策树(Decision Tree)