新词
- Logistic Regression: 逻辑回归
- Convex: 凸面的
- Gradient: 倾斜度,坡度,梯度
- Conjugate: 结合、配合;共轭值(数学)
- Derivative: 导数
- Partial Derivative: 偏导数
- Penalize: 处罚,使..不利
- Polynomial: 多项式的
- Inflate: 膨胀, 使..膨胀,使..通货膨胀
- Overfitting: 过度拟合
感想
- Linear Regression是个回归(Regression)的问题
- 而Logistic Regression貌似是个Classification问题, 而不是一个Regression问题。(这种让人很Confuse的命名主要是历史的原因,不是被搞混了)
- Classification里面的y值也被称为Feature的Label。
- SigmoidFunction -> Logistic Function
- 在分类问题里面,g代表的是sigmoid函数。
- Decision Boundary: 各个分类之间的那个分界线
- The decision boundary is the line that separates the area where y = 0 and where y = 1. It is created by our hypothesis function.
- Decision Boundary不一定是一根直线,也可能是一个曲线的。
- Logistic Regression不能使用跟Linear Regression一样的Cost Function,因为使用Linear Regression的Cost Function的话,Logistic Regression有N多个Local Optima, 从而使得使用Gradient Descent可能无法找到Global Optima。
- Cost Function一定要有Convex的属性,因为这样的Function才有一个凸的属性,一个“顶点”,才能找到Global Optima.
- Conjugate Gradient, BFGS, L-BFGS是几种比Gradient Descent更复杂,但是也是性能更好的算法,特别是当数据量比较大,feature数比较多的场景。
- one-vs-all(或者说one-vs-rest) 是一种处理multi-class分类的机器学习算法,它本质上是把多个classifier组合起来,预测的时候把feature值代入多个classifier,看哪个classifier算出的概率值最高,我们取最高值作为要预测的结果值。
- 机器学习的模型有三种可能的结果:
- Underfit(High Bias): 由于过分依赖某个(或某几个feature),导致得到的模型无法正确的预测Training Set里面的值。
- 正好(Just right): 比较理想的模型
- Overfit(High Variance): 过度拟合,得到的模型可以完美的预测Training Set里面的值,但是对于没有见过的Case,预测的结果会比较差。
- 直观的感觉是: 为了得到最好的Cost Function值(能预测对更多的Training Set里面的Case),把过多的Feature都考虑进模型里面了,这也就是High Variance这个名字的来由。
- 从Overfit的原理我们可以看出,解决办法有两种:
- 一种是去掉一些不重要的feature
- 这里也有两种方法,一是手动去掉
- 另外是可以通过算法自动去掉。(model selection algorithm)
- 另外一个办法是Regularization, 直观感觉应该是调低不重要的feature对模型的影响。
- 一种是去掉一些不重要的feature
- Regularization
- 适用的场景是,当Feature的个数很多,但是很多Feature对模型的重要性其实不高。
- 手法是在Cost Function里面加入一个跟theta相关的一个summation。
- 使得我们的模型曲线(针对Linear Regression来说)更平滑(smooth), 从而降低Overfit的概率。
- 但是如果Regularization Parameter太大的话,会导致所有的theta都被惩罚,从而导致Underfit。
网友评论