损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。
损失函数分为经验风险损失函数和结构风险损失函数
。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。一般用于防止过拟合,模型越复杂,其正则项的值就越大,相应的结构化风险损失函数的值就越大,相应的损失就越大。
常见的损失函数以及其优缺点如下:
损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。
损失函数分为经验风险损失函数和结构风险损失函数
。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。一般用于防止过拟合,模型越复杂,其正则项的值就越大,相应的结构化风险损失函数的值就越大,相应的损失就越大。
常见的损失函数以及其优缺点如下:
对于任意的矩阵$A$,总是可以得到如下的分解:
$$
A = U_m \Sigma_{m \times n} V_n^T \tag{1}
$$
这样的分解被称为奇异值分解(SVD, Singular Value Decomposition),其中$U$为$m$阶方阵(酉矩阵), $V$为$n$阶方阵(酉矩阵),
$\Sigma$是形状为$m \times n$的非负实数对角矩阵,其中存放的就是我们的奇异值。
我们知道,矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的
特征向量,伸缩的比例就是特征值。
- 我们使用的原始数据集如下所示。
- 以下数据集是
SicKit Learn
中,波士顿房价数据的钱 10 列,可以用如下的代码获取到:
1 | from sklearn.datasets import load_boston |
在sklearn
中,决策树在以下位置:
sklearn.tree
主要包含这么几种树:
包 | 作用 |
---|---|
tree.DecisionTreeClassifier |
分类树 |
tree.DecisionTreeRegressor |
回归树 |
tree.export_graphviz |
将生成的决策树导出为 DOT 格式,画图专用 |
tree.ExtraTreeClassifier |
高随机版本的分类树 |
tree.ExtraTreeRegressor |
高随机版本的回归树 |
训练数据:$T = \lbrace (x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N) \rbrace$,
其中,$x_i=(x^{(1)},x^{(2)},\cdots,x^{(n)})^T$,$x_i^{(j)}$是第$i$个样本的第$j$个特征,$x_i^{(j)} \in \lbrace
a_{j1},a_{j2}, \cdots, a_{jS_j} \rbrace$, $a_{jl}$是第$j$个特征可能取到的第$l$个值,$j=1,2,\cdots,n$,$l=1,2,\cdots,S_j$,$y
\in \lbrace c_1, c_2, \cdots ,c_K \rbrace$;
- 训练数据中,共有$N$个数据样本;
- 每个数据共有$n$个特征,即$n$维;
- 第$j$个维度的取值可能有$S_j$种;
- 最终可能的分类有$K$种。
实例:$x$;
实例$x$的分类
属性 | 属性值 |
---|---|
输入空间 | $X \subseteq R_n$ |
输入变量 | $x \in X$ |
输出空间 | $Y = { +1, -1}$ |
输出变量 | $y \in { +1, -1}$ |
假设空间 | $\mathcal{H}=\lbrace f | f(x)=sign(\omega\cdot x+b)\rbrace$ |
使用TensorFlow和感知机模型进行MNIST手写数字识别
MNIST
数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST)
.
训练集 (training set
) 由来自 250
个不同人手写的数字构成, 其中 50%
是高中学生, 50%
来自人口普查局 (the Census Bureau
) 的工作人员. 测试集(test set
) 也是同样比例的手写数字数据.
MNIST
数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分:
Training set images: train-images-idx3-ubyte.gz
(9.9 MB, 解压后 47 MB, 包含 60,000 个样本)
Training set labels: train-labels-idx1-ubyte.gz
(29 KB, 解压后 60 KB, 包含 60,000 个标签)
Test set images: t10k-images-idx3-ubyte.gz
(1.6 MB, 解压后 7.8 MB, 包含 10,000 个样本)
Test set labels: t10k-labels-idx1-ubyte.gz
(5KB, 解压后 10 KB, 包含 10,000 个标签)