欠拟合,好的拟合,过拟合
如果我们发现了过拟合问题,应该如何处理?
- 丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如PCA)
- 正则化。 保留所有的特征,但是减少参数的大小(magnitude)。
PCA能做的事其实很有限,那就是:降维。PCA降维的前提必须保证数据是线性分布的
上面我们说PCA可以将数据投影到分布分散的平面内,而忽略掉分布集中的平面。
碎碎念:
为什么高阶参数小一点就能改善过拟合? 我知道一阶是直的 二阶是弯的 没有二阶就不会弯。 但是对于高阶不会有参数越小越扭曲的情况吗?
z=x + y + x² + y² + a x³
y=x + x² + a x³
这公式里的a=5时的曲线就比a=1时要平滑 纳闷
要减小θ3θ4的值,不能等算好了之后自己减,而是该放在代价函数里一起算。
中括号这样的话,就是在原本的代价函数上单纯多加一个1/2m的那俩 。2是因为θ3平方了,m是因为样本数量越多就。。。。emmmmm。。。总之,当机器发现θ3变小能改善代价函数的值,而θ3又确实老老实实存在于公式里,就行了。
如果不知道要惩罚哪个参数,就都惩罚
如果正则化参数太大,所有的θ都会趋于0,实际函数就会是水平直线。所以这个新增的代价就是让函数斜率变小,变平滑。
好吧,有了新的代价函数,要求导了。
线性回归
因为θ0是常数项本身,所以没必要惩罚,所以对参数求偏导的时候也不会有θ0的惩罚项,总之 分开计算然后合并公式后就是这样
正规公式则多了个参数矩阵
正则化逻辑回归的代价函数
逻辑回归前面的代价不需要平方 用的1/m。但θ是平方所以还是除2m
那么,求导之后。。
好消息 你应该已经理解了
坏消息 你应该没动手写代码实现
好消息 你已经又变强了许多
坏消息 可能只能当2018年初的强者