机器学习随笔一

1. 半正定矩阵

半正定与正定矩阵同意用半正定矩阵来事例:
首先半正定矩阵定义为: 这里写图片描述
其中X 是向量,M 是变换矩阵
我们换一个思路看这个问题,矩阵变换中,MX代表对向量 X进行变换,我们假设变换后的向量为Y,记做Y=MX。于是半正定矩阵可以写成:这里写图片描述
这个是不是很熟悉呢? 他是两个向量的内积。 同时我们也有公式:
这里写图片描述
||X||, ||Y||代表向量 X,Y的长度,\theta是他们之间的夹角。 于是半正定矩阵意味着cos(θ) >= 0, 这下明白了么?

正定、半正定矩阵的直觉代表一个向量经过它的变化后的向量与其本身的夹角小于等于90度。

百度百科解释:半正定矩阵是正定矩阵的推广。实对称矩阵A称为半正定的,如果二次型X’AX半正定,即对于任意不为0的实列向量X,都有X’AX≥0.

2.机器学习中训练集、验证集和测试集的作用

通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集、验证集合测试集,划分比例一般为0.6:0.2:0.2。对原始数据进行三个集合的划分,是为了能够选出效果(可以理解为准确率)最好的、泛化能力最佳的模型。

训练集(Training set)

作用是用来拟合模型,通过设置分类器的参数,训练分类模型。后续结合验证集作用时,会选出同一参数的不同取值,拟合出多个分类器。

验证集(Cross ValidaDon set)

作用是当通过训练集训练出多个模型后,为了能找出效果最佳的模型,使用各个模型对验证集数据进行预测,并记录模型准确率。选出效果最佳的模型所对应的参数,即用来调整模型参数。如svn中的参数c和核函数等。

测试集(Test set)

通过训练集和验证集得出最优模型后,使用测试集进行模型预测。用来衡量该最优模型的性能和分类能力。即可以把测试集当做从来不存在的数据集,当已经确定模型参数后,使用测试集进行模型性能评价。

对原始数据进行三个数据集的划分,也是为了防止模型过拟合。当使用了所有的原始数据去训练模型,得到的结果很可能是该模型最大程度地拟合了原始数据,亦即该模型是为了拟合所有原始数据而存在。当新的样本出现,再使用该模型进行预测,效果可能还不如只使用一部分数据训练的模型。

3.过拟合(overfitting)

知乎大神的两种形象的比喻:

  1. 不知道大家在学车的时候教练教倒库和侧方停车的时候有没有教一串口诀:类似于在车窗的XX框切XX杆的时候打满,切XX的时候回正等等,这个口诀可以顺利让你通过科目二,然而换个车或者换个场地,你就发现并没有卵用… 我们说这只是overfit了某个车和某个场地(训练数据),在新的测试集(新车新场地)上的泛化性能为0。
  2. 好比你想学习追妹子。先找你表妹问喜欢什么,表妹说她喜欢干净帅气的男生,还说她喜欢周杰伦,喜欢火锅,喜欢酸菜鱼,合计一百条规矩。你规规矩矩地按照要求学习,终于符合表妹的一切要求,0 Error,训练完成,超级自信准备出去试试追个妹子。可是换了个妹子,发现学到的似乎没想象中有用。第二个妹子只要你干净帅气。后面的九十八条她都不care,她甚至讨厌吃火锅,那后面98条只会增加误差。这就过拟合了。怎么防止过拟合呢?应该用cross validation,交叉比对。解释起来就是,你在你表妹那儿学到的东西,在你表姐那儿测试一下对不对。在你表姐那儿学到的,在你二姐那测试一下。来来回回用不同的测试对象和训练对象做交叉比对。这样学到规律就不会过拟合啦~评论里有小伙伴提到加Regularization可以解决overfit,这里也形象地说一下。还是在学习追妹子。但是我也有男人的尊严! 有底线!不能妹子说啥就是啥!今天我的底线是,不能无限量增加要学的规矩的数量!女人不能惯着! 所以可以引入Lasso,对规矩的数量进行一个penalize。通俗说就是,妹子你让我学三条规矩我就忍了,让我学一百条规矩大爷就不干了。这个Regularization可以有不同的形式,Lasso是一种。所以可以通过引入Regularization增加信息,帮助寻找到最优解。

4. 0 范数、1 范数、2 范数有什么区别

以下分别列举常用的向量范数和矩阵范数的定义。

向量范数
1-范数:
这里写图片描述
即向量元素绝对值之和,matlab调用函数norm(x, 1) 。
2-范数:
这里写图片描述
Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,matlab调用函数norm(x, 2)。
∞-范数:
这里写图片描述
即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。
-∞-范数:
这里写图片描述
即所有向量元素绝对值中的最小值,matlab调用函数norm(x, -inf)。
p-范数:
这里写图片描述
即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。
矩阵范数
1-范数:
这里写图片描述
列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A, 1)。
2-范数:
这里写图片描述
谱范数,即A’A矩阵的最大特征值的开平方。matlab调用函数norm(x, 2)。
∞-范数:
这里写图片描述
行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A, inf)。
F-范数:
这里写图片描述
Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A, ’fro‘)。
核范数:
这里写图片描述
即奇异值之和。

猜你喜欢

转载自blog.csdn.net/SeekN/article/details/79974647