学习的过程是:
先在训练集上计算出预测的规则,然后评估它在测试集上的性能。
模型复杂的话更加容易overfit,模型不复杂会在训练集上误差变大underfit,但是在测试集上没有那么大。
选择合适的模型就是平衡fit,用尽量小的参数表示模型,模型不能太复杂,在train set上error尽量小,在test 上也要尽量小。
正则化就是做这件事情的,调节参数的平衡。约束函数空间当特征的维度很大时不用特征的个数
L范数正则化:L1是lasso,可以得到稀疏解,有凸函数的解,L2是ridge,当两个特征有相似性的时候,L2KEYI JIEJUE
或者当特征数d>样本数n。
感知器:perceptron模拟生物单元,当输入信号和模型参数相乘取和与阈值相比较,在迭代过程中,如果模型没有失误就不动他,如果模型分类错误就,进行(实际分类-预测分类)*学习率*样本向量。,如果问题本身线性可分,那么感知器就一定能找到一个最优解。
支持向量机:support vector machines是对二分类很有效,主要是通过核函数转换低维训练数据到高维。使用QP找到最要的分类界限。f(x,w,b) = sign(w*x-b);定义margin作为线性分类器两个类之间的距离。SVM找的就是最大的margin对应的平面。
w越大函数越不光滑,w越小求导后越有最大值。Margin Width = 2/(w*w)^0.5,找到最大margin使用二次优化。
当不是线性可分时,引入soft margin(软间隔)允许发生错误,但是要付出代价,衡量错分点到正确类的support vector的距离。将代价放入目标函数,最小化 1/2(w*w)+C(所有分错点的距离之和)。W*x+b >= 1-距离。当y =1时。这个时候,使用合页损失函数。不是光滑的。在介于0-1之间时,采用线性关系。
逻辑回归和SVM的差别,逻辑回归输出概率。