假设这条直线方程是:
$$wx+b=0$$
那么如下的式子可以看作对任意数据点\(x\)离开这条直线垂直距离:
$$\theta=w^Tx+b$$
所以这里我们得到一个式子:
$$P(y=1|x)=h(w^Tx+b)$$
这里的\(P(y=1|x)\)是,当给定一个输入数据x时,x属于正样本区间y=1的后验概率分布,也就是我们这里的classification所需要的映射关系。顺便一提,这种研究\(P(y|x)\)而非\(P(y,x)\)的机器学习方法,被称作***Discriminative model***,而后者被称作***Generative model***,这两者的区别和特点是非常有趣的一个话题,现按下不表。
\(P(y=1|x)\)显而易见是w,b的函数,所以我们写作\(P(y=1|x;w,b)\)。实际训练过程,可以看作对w,b的取值进行优化,使\(P(y=1|x;w,b)\)最符合我们的训练集数据\( \{x_i,y_i \}\)。
于是问题来了,如何描述这种符合程度?
这里引入了损失函数(loss function)的概念。
对所有的\(x_i\)和\(y_i\),我们希望以下这个总概率最大化(参考高中数学知识,独立随机事件的总概率):
$$P(Y|X)=\Pi_i P(y=y_i|x_i)$$
即:
$$w,b=argmax_{w,b}\Pi_i P(y=y_i|x_i;w,b)$$
\(P(y=y_i|x_i;w,b)\)实际上可以写成如下表示:
$$P(y=y_i|x_i;w,b)=h(w^Tx_i+b)^y_i(1-h(w^Tx_i+b))^{1-y_i}$$
请自己体会。
但处于某种原因,直接对\(P(Y|X)\)是很困难的,于是我们使用了如下的trick(认真上过高数课的同学并不会陌生),转而优化\(L(w,b)\):
$$L(w,b)=-\sum_i log(h(w^Tx_i+b)^{y_i}(1-h(w^Tx_i+b))^{1-y_i})$$
但同时优化两个参数w,b是㯊麻烦的(求两遍导,更新两个参量),所以又使用了如下的 bias trick:
$$w'=[w,b], x'=[x,1]$$
$$w^Tx+b=w'^Tx'$$
简化后有没有神清气爽?
$$L(w)=-\sum_i log(h(w^Tx_i)^{y_i}(1-h(w^Tx_i))^{1-y_i})$$
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |