文章目录
一. 监督、无监督、半监督学习
监督学习
分类:回归问题(=函数拟合)、分类问题
分类模型:决策树、逻辑回归、支持向量机
回归问题:等价于函数拟合,即选择一个函数可以很好地拟合已知数据且能正确预测未知数据。
回归正是用于捕捉输入到输出之间的函数映射关系。
无监督学习
聚类是将数据集中的样本根据相似性分组,使得同一组内相似度高、不同组样本相似度低。
常见聚类算法:k-means、层次聚类、DBSCAN。
k-means算法:处理球形簇
目标:将数据集中的n个样本划分为k个簇,使得簇内的样本尽可能相似,而簇间的样本尽可能不同。
k-means算法的基本步骤:
算法优缺点:
为了解决这些问题,研究者们提出了一些改进的算法,如K-means++用于更好的初始簇中心选择,以及使用不同的距离度量和聚类评估指标来提高聚类的质量。
谱聚类:处理非球形簇和高维数据
谱聚类(Spectral Clustering)是一种基于图论的聚类算法,它将数据集中的每个样本视为图中的一个顶点,样本间的相似度则转化为连接这些顶点的边的权重。
谱聚类的核心思想是通过图的切割方法,将图分割成若干个子图,使得每个子图内部的边权重和尽可能大,而子图之间的边权重和尽可能小,从而实现聚类的目的。
谱聚类的基本步骤包括:
优缺点
算法应用
三. 损失函数
四种损失函数
损失函数:表示预测与真实答案的距离。(交叉熵是一个比较好的损失函数)
以下是常见的用于回归和分类的损失函数:
用于回归的损失函数
- 平方损失函数(均方误差,MSE)
- 公式: L ( Y , f ( x ) ) = ( Y − f ( x ) ) 2 L(Y,f(x))=(Y - f(x))^{2} L(Y,f(x))=(Y−f(x))2
- 特点:
- 衡量的是模型预测值与真实值之间差异平方的平均值。
- 对异常值比较敏感,因为较大的误差对损失函数的贡献更大。
- 在回归问题中广泛使用。
- 绝对损失函数(平均绝对误差,MAE)
- 公式: L ( Y , f ( x ) ) = ∣ Y − f ( x ) ∣ L(Y,f(x))=\vert Y - f(x)\vert L(Y,f(x))=∣Y−f(x)∣
- 特点:
- 对异常值(outliers)的敏感度较低,因为它不像平方损失函数那样对大的误差进行平方。
- 其梯度在误差为零的点上为零,这可能导致优化算法(如梯度下降)在这些点上难以收敛。
- 常用于回归问题。
用于分类的损失函数
- 0 - 1损失函数
- 公式: L ( Y , f ( x ) ) = { 1 , Y ≠ f ( x ) 0 , Y = f ( x ) L(Y,f(x))=\begin{cases}1, & Y \neq f(x) \\0, & Y = f(x)\end{cases} L(Y,f(x))={1,0,Y=f(x)Y=f(x)
- 特点:
- 用于衡量模型预测与真实标签之间的差异。
- 通常用于分类问题,但由于其非凸性和不连续性,在实际优化中较少直接使用。
- 交叉熵损失函数
- 二分类问题公式: C = − y ′ log y + ( 1 − y ′ ) log ( 1 − y ) C=-y'\log y+(1 - y')\log(1 - y) C=−y′logy+(1−y′)log(1−y)(其中(y)表示真实标签,(y’)表示预测标签)
- 多分类问题公式: C = − ∑ j y j log y j C =-\sum_{j}y_{j}\log y_{j} C=−∑jyjlogyj
- 特点
- 在神经网络中分类问题较常使用。
- 能够很好地衡量分类模型的预测概率分布与真实概率分布之间的差异,广泛应用于逻辑回归、神经网络等分类算法中。
损失函数的优化
损失函数的优化算法:比如梯度下降法
四. 泛化
在机器学习中,泛化(Generalization)是指模型对新的未见过的数据进行预测的能力。一个具有良好泛化能力的模型能够捕捉到数据的潜在规律,而不是仅仅记住训练数据。
泛化是机器学习中的一个核心目标,因为它关系到模型在实际应用中的有效性和可靠性。
交叉验证:K折验证
交叉验证(Cross-Validation)是一种统计分析方法,用于评估并提高模型的预测性能。它是一种分割数据的技术,目的是想要测试模型在独立数据集上的表现。交叉验证的主要目的是通过减少数据分割的偏差来提高模型评估的准确性。
交叉验证的基本步骤
交叉验证常用的是:
五. 过拟合与欠拟合
欠拟合(Underfitting)指的是模型在训练集和测试集上表现都很差,
过拟合(Overfitting)指的是模型在训练集上表现良好但在测试集上表现很差,即泛化性能不好。
1. 欠拟合解决办法
2. 过拟合解决办法