1. 什么是机器学习
定义:机器学习是人工智能领域的一种方法,旨在使计算机系统能够从经验中学习和改进。

目标:机器学习的目标是设计和开发算法和模型,使计算机能够从大量数据中提取模式、规律和知识,并利用这些学习结果进行预测、决策和问题解决。

训练过程:机器学习算法通过对训练数据进行学习,这些数据包含输入特征和相应的输出或标签。算法通过分析数据中的模式和关联关系,调整模型的参数和权重,从而使模型能够更好地对未知数据进行预测或分类。

类型:机器学习可分为监督学习、无监督学习和强化学习等类型。监督学习使用带有标签的训练数据来学习预测输出;无监督学习从未标记的数据中发现隐藏的结构和模式;强化学习通过与环境交互学习采取行动以获得最大化奖励的策略。

应用领域:机器学习在各个领域有广泛的应用,包括图像和语音识别、自然语言处理、推荐系统、金融预测、医学诊断等。

意义:机器学习为我们提供了从数据中获取洞察和自动化决策的强大工具,对推动科学研究、商业创新和社会进步具有重要作用。
  1. 归纳偏好
简单性偏好(Occam's Razor):倾向于选择更简单、更直观的假设或模型。简单性偏好认为,在所有能够解释数据的假设中,更简单的假设通常更有可能是正确的。  

判断哪一个模型更简单是不简单的,NFL定理的理论基础如下:
因此需要针对具体的学习问题来选择在某些问题上表现更好的学习方法。

对于任意两个学习方法 $\mathcal{A}_1$ 和 $\mathcal{A}_2$,以及任意的概率分布 $P$ 和样本空间 $\mathcal{D}$,它们的期望误差相等:

[ \mathbb{E}_{\mathcal{D},P}[\mathcal{L}(\mathcal{A}1,\mathcal{D},P)] = \mathbb{E}{\mathcal{D},P}[\mathcal{L}(\mathcal{A}2,\mathcal{D},P)] ] 在这个公式中,$\mathcal{L}(\mathcal{A},\mathcal{D},P)$ 表示学习方法 $\mathcal{A}$ 在样本空间 $\mathcal{D}$ 和概率分布 $P$ 下的误差,$\mathbb{E}{\mathcal{D},P}$ 表示对于给定的样本空间和概率分布的期望值。

这个公式的含义是,对于所有可能的学习问题,无论是哪两个学习方法,它们在期望误差的意义下是相等的。也就是说,在平均意义上,两个学习方法在所有可能的样本和概率分布下具有相同的表现。

  1. 经验误差
经验误差是指在机器学习中,通过对训练数据进行学习所得到的模型在训练数据上的误差或损失。它是通过将模型对训练数据的预测结果与实际标签进行比较来衡量模型在训练数据上的表现。

经验误差在机器学习中起到至关重要的作用,它用于评估模型在训练数据上的拟合程度。然而,仅仅关注经验误差是不够的,因为模型在训练数据上的良好表现并不能保证其在未见过的数据上也能很好地泛化。为了更好地评估模型的泛化能力,需要结合验证误差和测试误差等指标进行综合评估。
  1. 欠拟合
欠拟合是指机器学习模型在训练数据上的表现较差,无法很好地捕捉到数据中的模式和关系。欠拟合通常发生在模型过于简单或复杂度不足的情况下,导致无法充分拟合训练数据的特征。

解决办法:
1. 增加模型复杂度:如果模型过于简单,可以考虑增加模型的复杂度,例如增加神经网络的层数或节点数、增加多项式特征等,以提高模型的表达能力,使其能够更好地拟合数据。
2. 收集更多训练数据:欠拟合可能是由于训练数据量不足导致的,因此收集更多的训练数据可以提供更多的样本和变化,帮助模型更好地学习数据中的模式。
3. 特征工程:优化特征的选择和提取可以改善模型的性能。可以通过领域知识、特征组合、特征转换等方法来改进输入特征的质量和表达能力,从而提高模型的拟合能力。
4. 正则化方法:正则化是通过在损失函数中引入正则化项来限制模型的复杂度。常见的正则化方法包括 L1 正则化和 L2 正则化,它们可以帮助控制模型的参数大小,防止过拟合,进而提高模型的泛化能力。
  1. 过拟合
过拟合是指机器学习模型在训练数据上表现良好,但在未见过的测试数据上表现较差,模型过于复杂或过度拟合了训练数据的特征和噪声。

解决办法:
1. 数据集扩充:增加更多的训练数据可以帮助模型更好地捕捉数据的真实分布,减少对训练数据中的噪声的过度拟合。
2. 简化模型复杂度:通过减少模型的参数数量或减小模型的复杂度,例如减少神经网络的层数或节点数、减少多项式的阶数等,可以降低模型的拟合能力,减少过拟合的风险。
3. 正则化方法:引入正则化项来限制模型的复杂度,以防止过度拟合。常见的正则化方法包括 L1 正则化和 L2 正则化,它们通过惩罚大的参数值来限制模型的复杂度。
4. 提前停止:通过监控模型在验证集上的性能,当模型的性能不再提升时,提前停止训练,以防止过拟合。
  1. 评估方法
1. 留出法(Holdout Method):留出法是将数据集划分为训练集和测试集两部分的方法。通常将数据集按照一定比例划分

2. 交叉验证法(Cross-Validation):交叉验证法是一种更可靠的评估模型性能的方法,它将数据集划分为 K 个折(Fold)。每次选择其中一个折作为测试集,其余折作为训练集,进行 K 次训练和测试。最后将 K 次评估结果的平均值作为模型性能的估计。交叉验证法能更好地利用数据,减少因数据划分不同而引起的波动性。

3. 自助法(Bootstrap):自助法是一种基于有放回抽样的评估方法。给定包含 N 个样本的数据集,自助法通过随机抽样生成一个与原数据集大小相等的新数据集,新数据集中可能包含重复的样本
  1. 性能度量
1. 错误率和精度: 准确率是最常用的评估指标之一,表示模型在测试集上正确预测的样本数与总样本数之比。
2. 查准率、查全率:精确率和召回率用于评估分类模型在正类和负类样本上的表现。精确率表示预测为正类的样本中实际为正类的比例,召回率表示实际为正类的样本中被正确预测为正类的比例。
3. F1:F1 分数是查准率、查全率的调和均值,综合考虑了两者的性能。它可以衡量模型在正类和负类样本上的平衡性能。
4. Fβ 分数是精确率(Precision)和召回率(Recall)的一种综合度量指标,它通过加权平衡精确率和召回率来评估模型性能,其中 β 控制了精确率和召回率之间的权衡关系。
5. ROC 曲线和 AUC 值:ROC 曲线是以不同阈值下的真正类率(TPR)和假正类率(FPR)为基础绘制的曲线,用于评估二分类模型的性能。
6. 对数损失(Log Loss):对数损失是用于评估概率预测模型(如逻辑回归)的常见指标。它衡量模型对样本分类的置信度,对数损失越小,模型性能越好。

[ F_\beta = \frac{{(1 + \beta^2) \cdot \text{{Precision}} \cdot \text{{Recall}}}}{{\beta^2 \cdot \text{{Precision}} + \text{{Recall}}}} ]

  1. 线性模型的基本形式
  • 一般形式 [ y = w_0 + w_1x_1 + w_2x_2 + \ldots + w_nx_n ]

  • 向量形式 [ y = w^T x + w_0 ]

  1. 线性模型的改进方法
1. 损失函数(Loss Function):损失函数衡量模型预测结果与真实标签之间的差异。常见的损失函数包括均方误差(Mean Squared Error,MSE)、平均绝对误差(Mean Absolute Error,MAE)和对数损失(Log Loss)等。改进线性模型的一种方法是选择更适合具体问题的损失函数。例如,如果数据存在离群值,可以使用鲁棒的损失函数(如 Huber Loss)来降低离群值的影响。
2. 正则项是通过对模型的参数进行约束或惩罚,来控制模型的复杂度。常用的正则项包括L1正则化(L1 Regularization)和L2正则化(L2 Regularization)。L1正则化倾向于产生稀疏权重向量,促使模型选择重要的特征,而L2正则化通过对权重向量施加平方惩罚,使得模型的权重更加平滑。通过调整正则化的力度,可以平衡模型的拟合程度和过拟合的风险。
  1. LDA
LDA(Linear Discriminant Analysis)是一种经典的降维和分类方法,其思想是通过最大化特定目标来找到最佳的线性投影。LDA的目标是在保持不同类别之间的区分度最大化的同时,最小化同一类别内部的方差。(同类样例的投影点尽可能近,异类样例的投影点尽可能远)