逻辑回归
Sigmoid函数
决策边界
所谓决策边界就是能够把样本正确分类的一条边界,主要有线性决策边界(linear decision boundaries)和非线性决策边界(non-linear decision boundaries)。
决策边界是假设函数的属性,由参数决定,而不是由数据集的特征决定。
线性决策边界:
非线性决策边界:
逻辑回归中的代价函数
之前线性回归中的代价函数:
重新表示后半部分:
逻辑回归的代价函数是:
原理:
当y=1时,函数的图像是一个对数函数,如下:
其中 hθ (x) 是我们预测的值,它的范围在 [0, 1] 区间。当我们预测值 hθ (x) =1 时,此时与真实值 y 相同,预测正确,那么它的代价值就为 0;当我们预测值 hθ (x) = 0 时,此时与真实值 y = 1 恰恰相反,预测错误,那么这个代价就是无穷大的。
当y=0时,的图像如下,其工作原理与y=1相同。
简化逻辑回归代价函数:
实现梯度下降
代价函数:
repeat:{
}
用于逻辑回归的梯度下降:
repeat{
}simultaneous updates
过拟合问题
过拟合:
第一个模型是一个线性模型,处于欠拟合状态,不能很好地适应我们的训练集;第三个模型是一个四次方的模型,过于强调拟合原始数据,而丢失了算法的本质:预测新数据。我们可以看出,若给出一个新的值使之预测,它将表现的很差,是过拟合,虽然能非常好地适应我们的训练集但在新输入变量进行预测时可能会效果不好;而中间的模型似乎最合适。
过拟合的根本原因:是特征维度过多,导致拟合的函数完美的经过训练集,但是对新数据的预测结果则较差。即指学习时选择的模型所包含的参数过多,模型复杂度高,以致于出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象。
解决过拟合
一:收集更多的训练数据。
二:尝试只选择和使用特征的一个子集
三:使用正则化来减小参数的大小
正则化
正则化就是不改变特征的数量,通过改变参数的大小,来使得曲线更好的拟合数据。
如果使得参数w3, w4 接近于0 ,那么拟合的曲线就会接近二次函数了,它可能比二次函数更适合。
正则化的参数是lambda
在实际中特征总是会很多,我们没有办法知道哪些是重要特征,哪些是惩罚特征,所以通常实现正则化的方式是惩罚所有的特征,准确来说就是惩罚所有的参数w和j。这样来让拟合更加的平滑、简单,不容易过度拟合。
假设我们惩罚所有的100个特征,使用一个新的值lambda,它被称为正则化参数regularization parameter与学习率一样,我们必须给lambda选择一个数字λ>0,一般情况下,我们不会因为参数b太大而惩罚它,因为是否这样做,我们在实际中得到的结果都是差不多的,当然你也可以选择惩罚参数b
如果 lambda 设置为0,我们这时候就相当于没有使用正则化,因为正则化项为0,拟合的曲线也会过度拟合
如果 lambda 设置为一个非常非常大的值,则等式右边的正则化项就会变得很重要,
最小化这种情况的唯一方法就是确保 参数 w 的所有值都接近于 0 ,这是模型就是拟合成一条直线了,这属于欠拟合或高偏差
所以 lambda 的值太大或太小都不行,它的取值应该适当,
这样才可以平衡新代价函数中的第一项的均方误差代价函数 和第二项的正则化项,保持较小的参数
用于线性回归的正则方法
如图这是新的代价函数,我们希望找到参数 w , b 来最小化正则化代价函数。来看看图左边,之前我们对代价函数使用梯度下降,我们反复更新参数w, b ,其实,正则化线性回归的更新看起来和这个是一样的,处理现在大代价函数 J 的定义有些不同了。改变的是 J 对 w 的求导,如图右边所示,求导后面还加上了正则化项的求导,由于没有正则化参数 b ,所以 J 对 b 的求导不变。将这些导数项写入公式,我们可以得到正则化线性回归的梯度下降算法公式
正则化就是让参数 w 乘以一个略小于1 的数,具有收缩的效果
也就是在每次迭代中缩小参数 w 一点点,这就是正则化的工作原理。
用于逻辑回归的正则方法
如果我们使用高阶多项式来表示 z ,它会传递到 sigmoid 函数来计算 f ,我们会得到 一个复杂的为训练集拟合的决策边界。如果我们含有多个特征,逻辑回归拟合的决策边界就可能会存在过拟合或高方差风险
Gradient descent
repeat{
}