分类的结果是要么是0,要么是1,所以它是离散的。一般来说分类都是存在一个阈值,这个阈值的一边是一种情况,另一边是另一种情况。并且,这个函数的取值范围也需要合适的映射。
1.1 预测函数
使用Sigmod函数来作为预测函数。
Sigmoid 函数的值域为(0,1),在R域的中值x=0的时候取到值域中值0.5。所以非常适合我们将任何的实数映射到(0,1)区间。
函数名 | 函数 |
---|---|
Sigmoid 函数 | f(x) = 1/(1+e-x) |
预测函数 hθ | hθ(x)=g(−θTx)=1/(1+e−θTx),令z=−θTx , g(z)=1/(1+e−z) |
这里的hθ(x)表示的是输出是1的概率。比如hθ(x)=0.6意味着我们的输出结果是1的可能性是1。相对的,输出结果是0的概率就是hθ(x)=0.4了。
统计学表示 hθ(x)=P(y=1|x;θ)=1−P(y=0|x;θ)P(y=0|x;θ)+P(y=1|x;θ)=1) (吐槽一下,这里的|竟然不能转义,这条公式放不进表格里啊)
1.2 决策边界
为了获得离散的输出值0,1。我们将输出值作如下转换。
hθ(x)≥0.5→y=1 , hθ(x)<0.5→y=0
对于逻辑函数来说,输入大于或者等于,输出[0.5, 1);输入小于0,输出(0, 0.5)
z值 | e值 | g(z) |
---|---|---|
z=0 | e^0=1 | g(z)=1/2 |
z→∞ | e−∞→ 0 | g(z)=1 |
z→−∞ | e∞→∞ | g(z)=0 |
所以对于g(x)的输入如果是θTX的话,那么就是
hθ(x)=g(θTx)≥0.5 当 θTx≥0
决策边界就是分割预测结果y=0,1的线。它是由预测函数描绘的。
而g(z)的输入可以是任意的,甚至是非线性函数,比如一个圆圈。
2.1 代价函数
我们不能用在线性回归中用的那个函数,因为逻辑函数会有波浪形的输出(1,0,1,1,0,1),导致会有许多的局部最优解。换句话说,它就不是凸函数。
所以我们用的是下面的预测函数。
y = 1, 就有如下的图 (hθ(x),J(θ))
当正确答案y是1时,如果预测函数输出也是1,那么代价函数就是1。如果预测函数趋于0,那么代价函数趋于无穷。
相同的, 当 y = 0, 就有如下的图 (hθ(x), J(θ))
当正确答案y是0时,如果预测函数输出也是0,那么代价函数就是0。如果预测函数趋于1,那么代价函数趋于无穷。
这样表示代价函数保证了代价函数是凸函数。