机器学习基石(林轩田)第十章 笔记与感悟总结
10.1 Logistics Regression - Logistics Regression Problem
判断有还是没有心脏病,即二元分类问题。左上角说明有噪音。我们比较在意的是错误率的多少。
我们不是很强硬的就0或者1,而是变成了一个值,值的大小即概率值。
我们得不到理想中的数据,而是实际上有噪音的数据,而且数据不是概率值,而是确定的0,1
x0是bias,其他都是数据,然后计算一个加权和。
我们对分数不感兴趣,而是要映射到0-1之间。
我们使用 logistics 函数来进行映射。
10.2 Logistics Regression - Logistics Regression Error
三个模型进行对照。
都要对特征进行加权和进行打分。
只是对分数抽进行不同的处理。
将f(x)按照形式等价替换。
有一笔资料是 如下形式,那这个资料产生的几率是多少。
条件的概率连成
替换
我们假装h就是f,将f替换成h后的概率
likelihood()就是概率论中的似然函数
既然已经产生了这个序列,那么我们相信这个f出现的几率很大,我们就要选择最大的h,这样选择后的h才有可能是最接近f的那个h。
而且同时我们关注的是不一样的部分,故P(x1)。。等等都是灰色的。
我们将h换成了权重w
我们觉得乘法不好,换成加法
同时也想让最大化问题变成最小化问题
我们叫做err(w,x,y)叫做cross-entropy error,有历史上的原因。
10.3 Logistics Regression - Gradient of Logistic Regression Error
接下来就要找w,使Ein最小。
使用链式求导法则。剥洋葱。
我们想要求出梯度为0的地方。
有一种可能性,所有sita等于0。和对应 的
都要同号,我们要求每一个都要同号,那代表是linear separable。这样才有可能发生。
回忆一下PLA。
相等的时候,前面的系数是0,因此就不进行更新操作。
而不相等的时候,为1,才进行更新的操作。
这个公式有两项,后面的那一项是更新的方向。而前面的系数是走多大步,在后面会有用。
10.4 Logistics Regression - Gradient Descent
我们并没有变得轻松,因为有了非线性,而且还有很多的限制条件。
我们做的简单的都是有关线性的式子,我们就像能否将其转换成线性的式子、?
我们用极限的方法,用一小段的线段来进行估计。即泰勒展开。
yita 是步长,我们并不关心,是我们人为规定的。
v的定义如下:
我们要求v是一个单位向量。
那么步长的 yita 怎么选择呢?
我们如果选的很小或者很大都不好
注意,紫色的yita 正比于||梯度Ein||,因此最后得到结果。