5、分类算法
5.1分类
分类:将数据分为1和0两种情况,等价于正负样本(后续还会有0,1,2,3, … … …… ……多分类问题)
通过函数来拟合数据,设某点为阀值点,将数据分类
用线性回归来拟合数据不精确,(线性回归
h
θ
(
x
)
h_\theta(x)
hθ(x)可以大于1或小于0)
所以接下来我们要用logistic回归算法( h θ ( x ) h_\theta(x) hθ(x)始终在0到1之间)
5.2假设陈述
当我们期望输出数据在
0
−
1
0-1
0−1之间,假设函数使得该函数得取值范围在
0
−
1
0-1
0−1之间,在下面例子中g(z)即为我们假设的函数
h
θ
(
x
)
=
g
(
θ
T
x
)
h_θ(x)=g(\theta^{T}x)
hθ(x)=g(θTx)
g
(
z
)
=
1
1
+
e
−
z
g(z)=\frac{1}{1+e^{-z}}
g(z)=1+e−z1
g
(
x
)
\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad g(x)
g(x)被称为Sigmoid函数或Logistic函数
对假设函数的理解
h θ ( x ) h_\theta(x) hθ(x)={y=1|x; θ \theta θ}可理解为基于参数 θ \theta θ,给定一个x使得y=1得概率
5.3决策界限
假设 y = 1 y=1 y=1时 h θ ( x ) > = 0.5 h\theta(x)>=0.5 hθ(x)>=0.5
则 h θ ( x ) > = 0.5 ⇔ g ( z ) > = 0.5 ⇔ g ( θ T x ) > = 0.5 ⇔ θ T x > = 0 h_θ(x)>=0.5 \Leftrightarrow g(z)>=0.5 \Leftrightarrow g(\theta^{T}x)>=0.5 \Leftrightarrow \theta^{T}x>=0 hθ(x)>=0.5⇔g(z)>=0.5⇔g(θTx)>=0.5⇔θTx>=0
例如
x
1
+
x
2
=
3
x_1+x_2=3
x1+x2=3即为决策边界,决策边界不是样本数据的属性,而是假设函数及其参数
θ
\theta
θ的属性
决策边界将样本数据划分为y=0和y=1两个区域
x
2
+
y
2
=
1
x^{2}+y^{2}=1
x2+y2=1是决策边界
高阶多项式应用于logistic函数中会产生复杂的决策边界
5.4代价函数
用之前的平方误差和作为代价函数,得到的 J ( θ ) J(\theta) J(θ)是非凸函数,这是因为 h θ ( x ) h\theta(x) hθ(x)是非线性的复杂模型,对于非凸函数,梯度下降法无法保证下降到全局最低值
Logistic函数的代价函数
C
o
s
t
(
h
θ
(
x
)
,
y
)
=
{
−
l
o
g
(
h
θ
(
x
)
)
,
y
=
1
−
l
o
g
(
1
−
h
θ
(
x
)
)
,
y
=
0
(1)
Cost(h_\theta(x),y)= \begin{cases} -log(h_θ(x)),y=1\\ -log(1-h_θ(x)),y=0 \end{cases} \tag{1}
Cost(hθ(x),y)={−log(hθ(x)),y=1−log(1−hθ(x)),y=0(1)
C
o
s
t
(
h
θ
(
x
)
,
y
)
Cost(h_\theta(x),y)
Cost(hθ(x),y)代表单个样本的代价
5.5简化代价函数与梯度下降
将分段式子合并为一条式子
梯度下降:
将参数向量
θ
\theta
θ逐一带到上式子来更新
θ
j
\theta_j
θj
注意:这里的
h
θ
(
x
)
=
1
1
+
e
−
θ
T
x
h_\theta(x)=\frac{1}{1+e^{-\theta^{T}x}}
hθ(x)=1+e−θTx1
5.6高级优化
利用梯度下降以外的更高级复杂的最小化代价函数的算法,可以提高logistic回归的运行速度,更好地处理大数据问题
最小化代价函数的算法 { 1 Gradient descent(梯度下降法) 2 Conjugate gradient(共轭梯度法) 3 BFGS 4 L-BFGS \text {最小化代价函数的算法} \begin{cases}1\quad \text {Gradient descent(梯度下降法)} \\ 2\quad \text{Conjugate gradient(共轭梯度法)}\\ 3 \quad\text{BFGS}\\ 4 \quad\text{L-BFGS} \end{cases} 最小化代价函数的算法⎩ ⎨ ⎧1Gradient descent(梯度下降法)2Conjugate gradient(共轭梯度法)3BFGS4L-BFGS
对于2、3、4的高级算法,它们有一套智能内循环,称线搜素算法,会自动尝试不同的学习率 α \alpha α并自动选择最好的 α \alpha α,同时,他们运行都比梯度下降法要快
5.7多元分类:一对多
通过再分类得到多个分类器
h
θ
(
x
)
h_\theta(x)
hθ(x)(用来预测y等于不同值时的概率),每个分类器针对不同的分类
分类有多少个,就得到多少个分类器
当代入新数据x进行预测分类时,同时代入全部的分类器中,得到的最大概率对应的分类即为预测结果