left ( i \right )} \right ) y(i)∈{−1,1} y^{\left ( i \right )}\in \left \{ -1,\;1 \right \} fw(x(i))=wTx 2.2、Logistic回归算法的损失函数 对于Logistic回归算法,分类器可以表示为: p(y∣x;w)=σ(wTx)y(1−σ(wTx))(1−y) p\left ( y\mid \mathbf 为了求解其中的参数w \mathbf{w},通常使用极大似然估计的方法,具体的过程如下: 1、似然函数 L(w)=∏i=1nσ(wTx(i))y(i)(1−σ(wTx(i)))(1−y(i)) L\left (i)))+(1−y(i))log(1−σ(wTx(i))) logL\left ( \mathbf{w} \right )=\sum_{i=1}^{n}y^{\left ( i \right )} (i)))+(1−y(i))log(1−σ(wTx(i))) -logL\left ( \mathbf{w} \right )=-\sum_{i=1}^{n}y^{\left ( i \right
⇒y^=sign(wTx) y=\sum_{i=0}^{3}w_ix_i=\mathbf{w}^T\mathbf{x}\Rightarrow \hat{y}=sign\left ( \mathbf{w =−7xT=[121]:wTx=1xT=[150.5]:wTx=12xT=[132.5]:wTx=−2 \begin{matrix} \mathbf{x}^T=\left [ 1\; 2\; 3 \right {x}> 0 - y^=−1:wTx<0\hat{y}=-1:\mathbf{w}^T\mathbf{x}< 0 - 决策边界:wTx=0\mathbf{w}^T\mathbf{x}=0 决策边界如下图所示 =wTx \mathbb{P}\left [ y=1\mid \mathbf{x} \right ]? )=0.5\sigma \left ( \mathbf{w}^T\mathbf{x} \right )=0.5时,对应着决策边界wTx=0\mathbf{w}^T\mathbf{x}=0。
\mathbf{x}^{\left ( i \right )} \right )=\mathbf{w}^T\mathbf{x}^{(i)} fw(x(i))=wTx )y(1−σ(wTx))(1−y) 其中, 。 {w}^T\mathbf{x}^{\left ( i \right )} \right )\right ) −logL(w)=−i=1∑ny(i)log(σ(wTx (i)))+(1−y(i))log(1−σ(wTx(i))) 这便是交叉熵的具体形式。 }^T\mathbf{x}^{\left ( i \right )} \right ) \right \} wmini=1∑nlog{1+exp(−y(i)wTx
线性回归 令 z=wTx+bz = w^T x + bz=wTx+b,得到: y=z+ϵ, ϵ∼N(0,σ2)y = z + \epsilon, \, \epsilon \sim 逻辑回归 令 z=wTx+b,a=σ(z)z = w^T x + b, a = \sigma(z)z=wTx+b,a=σ(z),我们观察到在假设中: P(y=1∣x)=aP(y=0∣x)=1−aP(y=
对于这个分离的超平面,我们定义为 wTx+b=0,如下图。在超平面 wTx+b=0 上方的我们定义为y=1,在超平面 wTx+b=0下方的我们定义为y=−1。可以看出满足这个条件的超平面并不止一个。 在分离超平面固定为wTx+b=0的时候,|wTx+b|表示点x到超平面的距离。通过观察wTx+b和y是否同号,我们判断分类是否正确,这些知识我们在感知机模型里都有讲到。 如下图所示,分离超平面为wTx+b=0,如果所有的样本不光可以被超平面分开,还和超平面保持一定的函数距离,那么这样的分类超平面是比感知机的分类超平面优的。可以证明,这样的超平面只有一个。
现在我们替换θ0 为b,后面替换 θ1x1 + θ2x2 + · · · + θnxn 为w1x1 + w2x2 + · · · + wnxn(即wTx)。 这样,我们让Tx = wTx + b,进一步 h(x) = g(Tx) = g(wTx + b)。 再明确下假设函数 hw;b(x) = g(wTx + b) 上面提到过我们只需考虑Tx 的正负问题,而不用关心g(z),因此我们这里将g(z) 做一个简化,将其简单映射到y = −1 和y = 1 上。 接着,我们令分类函数 f(x) = wTx + b 显然,如果f(x) = 0,那么x 是位于超平面上的点。 3-1 函数间隔 我们定义函数间隔为 ^γ = y(wTx + b) = yf(x) 接着,我们定义超平面(w, b) 关于训练数据集T 的函数间隔为超平面(w, b) 关于T 中所有样本点(xi, yi
得到wTx+bw^Tx+b 计算x到超平面wTx′+b=0w^Tx' + b = 0的距离: x’和x”是超平面上的任意两个点: ? ? 所以,w的超平面的法向量,则得出距离: ? 由于: ? 超平面不会因系数而改变,所以我们可以对wTx+bw^Tx+b进行任意放缩,最终使得: ? 问题就变成了: ?
详见:https://github.com/bevyengine/bevy/discussions/9538 ↗ wtx - 最快的 WebSocket 实现 wtx 是一个用 Rust 实现的高性能 最近的基准测试显示,在多个指标上 wtx 都优于其他实现,可以称得上是最快的 WebSocket 库。 测试分为三个指标: 连接数量:衡量服务端处理连接请求的能力 消息数量:反映处理消息编解码和网络往返时间的能力 传输内存:检查不同 Payload 大小的吞吐量 结果显示 wtx 的响应时间最短,其次是
扩展到n维空间后,点x=(x1,x2……xn)到直线wTx+b=0的距离为: ? 其中 : ? 根据支持向量的定义,支持向量到超平面的距离为d,其他点到超平面的距离大于d。 于是有: ? 由 y(wTx+b)>1>0 可以得到 y(wTx+b)=|wTx+b|,所以可以将支持向量到超平面距离改写为: ? 最大化这个距离: ? 这里乘上 2 倍是为了后面推导方便,对目标函数没有影响。
▲加以宽松量的条件 接下来直观的理解一下,先来回顾之前介绍的Hard Margin SVM算法,我们最终要得到的这根决策边界对应的方程为wTx + b = 0,相应的可以找到wTx + b = ±1这两根直线 换句话说,允许一些样本点的范围在直线和虚线之间,此时打破了Hard Margin SVM算法的限制,也就是说可以犯一定的错误,此时这根虚线对应的方程为wTx + b = 1 - ζ。 需要注意这个ζ也是有条件的,ζ ≥ 0,换句话说这根虚线要在上面wTx + b = 1这根直线的下面或者要在wTx + b = -1这根直线的上面,这样才可以让它犯错误。 如果ζ ≤ 0为负数,相应的这根虚线就在wTx + b = ±1这两根实线的外面,相当于这个条件更加严格了,在这里需要注意对ζ的限定。 将条件最优化中的条件改成wTx + b = 1 - ζ,这就是Soft Margin SVM算法。还需要注意,ζ不是一个固定的值,而是对于每一个样本点i来说,都有一个对应的ζi。
线性模型 (W, b) WTX+ b = 0,描述超平面的线性方程。W是一个向量,如果X是n维的,那么W也是n维的。b是一个常数。WTX 一个列向量转置然后乘以一个行向量,也是一个数。 存在(W,b),使yi =+1时,WTX+ b>=0;yi =-1时,WTX+ b<0。 WTX+ b = 0与 aWTX+ ab = 0是同一个平面,其中a是一个正实数。也就是若(W, b)满足公式一,那么(aW, ab)也满足公式一,a是负数的话符号就相反了。 事实2. :|WTX0+ b|/ || W ||,其中分母W的模就是√(w12 + w22 + w32 ...) 我们可以用a缩放(W,b)得到(aW, ab),最终使所有支持向量X0上,有|WTX0+ b| = 1,那么非支持向量上,|WTX0+ b| >1,从而得证限制条件 此时支持向量与平面的距离d = 1/
对于这个分离的超平面,我们定义为wTx+b=0,如下图。在超平面wTx+b=0上方的我们定义为y=1,在超平面wTx+b=0下方的我们定义为y=−1。可以看出满足这个条件的超平面并不止一个。 在分离超平面固定为wTx+b=0的时候,|wTx+b|表示点x到超平面的相对距离。通过观察wTx+b和y是否同号,我们判断分类是否正确,这些知识我们在感知机模型里都有讲到。 如下图所示,分离超平面为wTx+b=0,如果所有的样本不光可以被超平面分开,还和超平面保持一定的函数距离(下图函数距离为1),那么这样的分类超平面是比感知机的分类超平面优的。
+wpxp=0,写成矩阵形式为:Φ:wTx+b=0Φ:wTx+b=0,根据高中数学的知识,可以得出 ww 表示超平面的法向量,bb 表示超平面的截距。 ifyi=1wTxi+b<0,ifyi=−1wTxi+b>0,ifyi=1wTxi+b<0,ifyi=−1 通过有监督的训练,不断地学习超平面的参数 (w,b)(w,b),最终找到一个超平面 f(x)=wTx +bf(x)=wTx+b 网络能够根据任意输入 xixi 输出对应的值来区分不同的模型。
用y表示类别(y可以取1或者0,分别代表两个不同的类),一个线性分类器的学习目标便是要在n维的数据空间中找到一个超平面(hyper plane),这个超平面的方程可以表示为( wT中的T代表转置): wTx +b=0w^Tx+b=0wTx+b=0 这里可以查看我之前的逻辑回归章节回顾:点击打开 这个超平面可以用分类函数 f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+b 表示,当f(x) 等于0 函数间隔公式:γ=y(wTx+b)=yf(x)\gamma=y(w^Tx+b)=yf(x)γ=y(wTx+b)=yf(x) 而超平面(w,b)关于数据集T中所有样本点(xi,yi)的函数间隔最小值(其中 +bf(x)=w^Tx+bf(x)=wTx+b 的值任意大,亦即函数间隔可以在超平面保持不变的情况下被取得任意大。 由于这些支持向量刚好在虚线间隔边界上,所以它们满足y(wTx+b)=1y(w_Tx+b)=1y(wTx+b)=1,对于所有不是支持向量的点,则显然有y(wTx+b)>1y(w_Tx+b)>
中间的圆圈,我们可以叫它一个神经元,它接收来自左边的输入并乘以相应的权重,再加上一个偏置项b(一个实数),所以最终接收的总输入为: x0w0+x1w1+…+x12287w12287+b=WTx+b 我们用y’来表示该神经元的输出,σ()函数代表sigmoid,则可知: y’ = σ(WTx+b) 这个y’可以看做是我们这个小模型根据输入做出的一个预测,在最开始的图对应的案例中,就是根据图片的像素在预测图片是不是猫 所以,我们的任务就是要找出一组W,b,使得我们的模型y’ = σ(WTx+b)可以根据给定的x,正确地预测y。 最终的W和b就是我们学习到的W和b,把W和b放进我们的模型y’ = σ(WTx+b)中,就是我们学习到的模型,就可以用来进行预测了! 总结一下: Logistic Regression模型:y’ = σ(WTx+b),记住使用的激活函数是sigmoid函数。
定义这个超平面为wTx+b=0(在二维平面中,就相当于直线w_1*x+w_1*y+b=0),而在超平面上方的点,定义为y=1,在超平面下方的点,定义为y=-1。 2.2 函数间隔和几何间隔 对SVM思想有一定理解之后,设超平面为wTx+b=0。我们讲解一下函数间隔和几何间隔的区别。 给定一个样本x,|wTx+b|表示点x到超平面的距离。 通过观察wTx+b和y是否同号,我们判断分类是否正确。所以函数间隔定义γ’为: 而函数间隔不能正常反应点到超平面的距离,因为当我们等比例扩大w和b的时候,函数间隔也会扩大相应的倍数。
现在以logistic回归作为实例,单个神经元,实际上完成了logistic的z=wTx+b的计算以及a=1/(1+e-z)这两步的计算。 对于多层神经网络,实际上是将上一层的输出,作为下一层的输入(即作为z=wTx+b中的x),带入进行计算的。 ?
解决这个问题,引入正则化 对数线性回归 lny=w^Tx+b 即表示为: y=e{wTx+b} ? 一般情况下,g(.)是单调可微函数,满足 y=g{-1}(wTx+b) 这样的模型称之为广义线性模型,其中g称之为联系函数;对数线性回归是广义线性模型在g=ln()时候的特例 对数几率回归 。 那么: y=\frac{1}{1+e{-(wTx+b)}} ln \frac{y}{1-y}=w^Tx+b 根据假设:y是正例,1-y是表示反例;\frac{y}{1-y}表示的是几率;ln\frac
所以我们定义线性回归的预测函数为Y=WTX,那么逻辑回归的输出Y= g(WTX),其中y=g(z)函数正是上述sigmoid函数(或者简单叫做S形函数)。
对于这个分离的超平面,我们定义为wTx+b=0,如下图。在超平面wTx+b=0上方的我们定义为y=1,在超平面wTx+b=0下方的我们定义为y=−1。可以看出满足这个条件的超平面并不止一个。 在分离超平面固定为wTx+b=0的时候,|wTx+b|表示点x到超平面的相对距离。通过观察wTx+b和y是否同号,我们判断分类是否正确,这些知识我们在感知机模型里都有讲到。 如下图所示,分离超平面为wTx+b=0,如果所有的样本不光可以被超平面分开,还和超平面保持一定的函数距离(下图函数距离为1),那么这样的分类超平面是比感知机的分类超平面优的。