文章目录
线性回归一般用于数据预测,预测结果一般为实数。
逻辑回归一般用于分类预测,预测结果一般为某类可能的概率。
线性回归
Step 1: Model
定义模型
Step 2: Goodness of Function
定义 Loss 函数,用于判断模型好坏,此处选取的 MSE
通过最小化 Loss 函数,来得到更好的模型
Step 3: Gradient Descent
通过梯度下降来优化参数
两个参数的梯度下降求法
可视化
Linear regression 是没有局部最优解的
分别对 w w w 和 b b b 求偏导
How’s the results?
Model Selection
引入多次项,定义更复杂的 Model
当模型越复杂可能会出现 Overfitting 的情况
Back to step 1: Redesign the Model
重新定义模型,考虑物种对结果的影响
考虑其他 feature 对结果的影响,重新定义Model
Back top step 2: Regularization
对 Loss function 加入 正则化来解决 Overfitting 问题
Regularization
正则化:期待参数越小的 function,越平滑,output 对输入的变化是比较不敏感的,可以对噪点不敏感。
λ 越大说明越考虑 w w w 本身大小,而越不考虑本身的 Loss 大小,所以在 training data 上的表现越来越差。
为什么不考虑 b b b,因为我们需要的是一个平滑的 function,而 b b b 的大小不会改变 function 的平滑程度。
逻辑回归
理想中定义分类任务的模型函数
通过高斯分布来解决
假设数据属于高斯分布(也可以假设属于其他分布,此处有主观意识影响),然后通过高斯模型来解决问题。
Generative Model
最大化 Likelihood
求出 μ 和 ∑
用了所有feature ,结果还是坏掉了
考虑给两个Model 公用 covariance matrix,这样就只需要较少的 parameters(不容易 overfitting)
求出 μ 和 ∑
发现公用 ∑ 后,此时的 boundary 是线性的,正确率提高了很多。
Three Steps
所以总结为以下 3 步:
Naive Bayes Classifier
假设所有的 feture 是 independent,其概率就可以表示为下面的形式,这种模型属于 Naive Bayes Classifier
Posterior Probility
分析 Posterior Probability
通过公式推导发现:其最终也可以写成 σ ( w ∗ x + b ) σ(w * x + b) σ(w∗x+b)
Step 1: Function Set
推出来的 σ 就是 sigmoid 函数,其图像表示如下:
用图可表示为如下形式:
Step 2: Goodness of a Function
最大化 Likelihood 就是最小化 − l n L ( w , b ) -ln L(w, b) −lnL(w,b),展开如下形式:
这种 Loss 函数就是 cross entropy 代表的含义是两个 distribution 有多接近,越小越接近
Step 3: Find the best function
w w w 的 update 取决于三件事:
- learning rate
- x i x_i xi 来自于 data
- y ^ − f ( x n ) \hat{y} - f(x^n) y^−f(xn),代表 f 的 output 与 理想的 目标值 y ^ \hat{y} y^差距有多大,离目标越远,update 的量越大
为什么逻辑回归不能采用 MSE 作为 Loss 函数?
- 当 y ^ = 1 \hat{y} = 1 y^=1 时,假如预测结果为 f ( x ) = 0 f(x) = 0 f(x)=0,此时明明离目标值很远,但是此时的梯度值为 0 0 0!
- 当 y ^ = 0 \hat{y} = 0 y^=0 时,假如预测结果为 f ( x ) = 1 f(x) = 1 f(x)=1,此时明明离目标值很远,但是此时的梯度值为 0 0 0!
Cross Entropy vs Square Error
如果逻辑回归问题用 square error 时,可能出现在远处梯度就为 0 的情况,而不能更新。
Discriminative vs Generative
Discriminative Model 就是直接定义函数,然后优化函数的 Model,让机器自己找 distribution。
Generative Model 是先假设一个 distribution,然后再求出参数值 (μ 和 ∑) 带入 Model。
准确率有所不同
Generative Model 做了一些假设
举例:
此例子下用 Generative Model 得到 data1 的几率小于 0.5(因为 Navie Bayes Model 假设两个 feature 独立)
在 training data 少的时候,Generative Model 可能表现更好,不容易被噪点影响。
Multi-class Classification
多分类可以用如下模型解决
softmax 也可以通过 Gaussain Model 推导出来
多分类问题 Loss 函数 也可以用 Cross Entropy 定义
Limitation of Logistic Regression
下面这种情况逻辑回归解决起来很难。
所以我们可以考虑对特征 (feature) 进行转换,然后再用逻辑回归解决
可以将 logistic regression models 多个 cascading 起来,让机器自己找 feature transformation
机器找出来的情况如下:
可以把这些 Logistic Regression 叠在一起,某一个 Logistic Regression 可以是其他 Logistic Regression 的 output。
可以给这个 Model 一个新名字:Neural Network (Deep learning)