正则化(Regularization)
发布时间:2020-12-14 06:12:20 所属栏目:百科 来源:网络整理
导读:我们在使用线性回归和逻辑斯特回归的时候,高次幂的多项式项可能造成过拟合的问题。而我们使用过拟合这一方法来改善或者减少这一问题。 我们所要做的就是使θ尽可能接近0,那么对于高阶项对于h θ (x)的影响也会尽量小,几乎没有。这样就预防了过拟合。 ? 正
我们在使用线性回归和逻辑斯特回归的时候,高次幂的多项式项可能造成过拟合的问题。而我们使用过拟合这一方法来改善或者减少这一问题。 我们所要做的就是使θ尽可能接近0,那么对于高阶项对于hθ(x)的影响也会尽量小,几乎没有。这样就预防了过拟合。 ? 正则化的线性回归模型 既然我们加入了正则项,那么我们在梯度下降的时候也是要做出一点改变,将梯度下降算法分为两种情形 对于上面的算法中j=1,2,……,n时的更新石子进行调整可得: 可以看出,正则化线性回归的梯度洗将算法的变化在于,每次都在原有算法更新规则的基础上令θ值减少了一个额外的值。 线性回归正则方程式正则化 ? 正则化的逻辑斯特回归模型 要最小化该代价函数,通过求导,得出梯度下降算法为: 最后附上正则化的逻辑斯特回归模型的python代码实现 import numpy as np def costReg(theta,X,y,learningRate): theta=np.matrix(theta) X=np.matrix(X) y=np.matrix(y) first=np.multiply(-y,np.log(sigmoid(X*theta.T))) second=np.multiply((1-y),np.log(1-sigmoid(X*theta.T)))#multiply数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致 reg=(learningRate/(2*len(X))*np.sum(np.power(theta[:,1:theta.shape[1]],2)))#thate.shape[1]指thate矩阵的第一维 return np.sum(first-second)/len(X)+reg (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |