回归和分类
回归和分类是机器学习可以解决两大主要问题,从预测值的类型上来区分,连续变量的预测称为回归,离散变量的预测称为分类。例如:预测房价的价格是一个回归任务;预测一张图片是猫还是狗的图片是分类任务。
线性回归
在一维特征空间,线性回归是通过学习一条直线 h ( x ) = θ 0 + θ 1 ∗ x h(x) = \theta_{0} + \theta_{1}*x h(x)=θ0+θ1∗x ,使得这条之间尽可能的拟合所有已有的看到的点的 y y y 值,并希望测试数据尽可能的落到这条线上,有很好的繁华性能。其中 h ( x ) h(x) h(x) 是预测值, y y y 是实际值。在多维空间,线性回归表示为: h ( x ) = θ 0 + θ 1 ∗ x 1 + θ 2 ∗ x 2 + . . . + θ n ∗ x n h(x) = \theta_{0} + \theta_{1}*x_{1} + \theta_{2}*x_{2} + ... + \theta_{n}*x_{n} h(x)=θ0+θ1∗x1+θ2∗x2+...+θn∗xn
- 解决回归问题
- 连续的变量
- 符合信息关系
- 直观表达变量关系
逻辑回归
逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事发生的可能性。
- 这张图片是不是狗(是、不是)
- 这封邮件是不是垃圾邮件(是、不是)
- 当前脑CT是不是包含并病灶(是、不是)
如何基于回归进行二分类?在多维空间表示上,线性回归表示为: h θ ( x ) = θ 0 + θ 1 ∗ x 1 + θ 2 ∗ x 2 + . . . + θ n ∗ x n h_{\theta}(x) = \theta_{0} + \theta_{1}*x_{1} + \theta_{2}*x_{2} + ... + \theta_{n}*x_{n} hθ(x)=θ0+θ1∗x1+θ2∗x2+...+θn∗xn ,逻辑回归表示为:
g ( x ) = s i g m o i d ( h ( x ) ) g(x) = sigmoid(h(x)) g(x)=sigmoid(h(x)), sigmoid 函数可以将 h θ ( x ) h_{\theta}(x) hθ(x) 输出的值映射到 0,1 之间,如果 >= 0.5 ,则属于正,如果 < 0.5 则属于负。sigmoid 函数表达式如下:
h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x h_{\theta}(x) = g(\theta^{T}x) = \frac{1}{1+e^{-\theta^{T}x}} hθ(x)=g(θTx)=1+e−θTx1
- 解决分类问题
- 离散的变量
- 可以不符合线性关系
- 无法直观表达变量关系
现在有 m m m 个样本,如何求解参数值?罗辑回归的目标函数是什么?极大似然估计,即利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值。
极大似然估计
y y y 表示分类标签, x x x 表示输入, θ \theta θ 表示参数。
P ( y = 1 ∣ x , θ ) = h θ ( x ) P(y=1|x,\theta) = h_{\theta}(x) P(y=1∣x,θ)=hθ(x)
P ( y = 0 ∣ x , θ ) = 1 − h θ ( x ) P(y=0|x,\theta) = 1-h_{\theta}(x) P(y=0∣x,θ)=1−hθ(x)
上面两个式子用下面的式子表示:
P ( y ∣ x , θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x ) )