本文最后更新于 2025年12月23日 晚上
【人工智能】分类模型
逻辑函数
逻辑函数是分类模型中常用的一种数据处理函数,其能实现将任意输入参数,以 0 为分界线转换到 0-1 的范围,以此便实现了将回归模型的技术放在分类模型中使用。
g(z)=1+e−z1
逻辑回归模型
逻辑回归用于判断单个事件的发生概率,其回归模型如下:
f(x)=g(w⋅x+b)=1+e−(w⋅x+b)1
本质就是线性函数与逻辑函数的组合,其中线性函数确定了分类范围,而逻辑函数使其输出结果转为 0-1 的概率(所有随机事件的概率相加等于 1)。
此外逻辑回归模型还有另一种写法,以体现其输出为概率的思想:
f(x)=P(y=1∣x;w,b)
- w,b:模型参数
- x:输入特征
决策边界
逻辑回归模型中的回归函数用于确定分类范围,特别的当其值为 0 时,该范围被称为逻辑边界,此时的概率恰好为 0.5,可以将其作为判断结果为“是”、“否”的分界线。
例如当模型为 g(x12+x22−1) ,其输出为 0.5 时:
g(x12+x22−1)x12+x22−1x12+x22=0.5=0=1
其边界形状恰好是一个圆。所以输入参数在该圆上的位置和距离决定了回归函数的输出,然后逻辑函数再将其结果转为概率。
多标签分类
在输出层使用逻辑回归模型,不代表结果只能是 0、1,因为输出可以有多个,因此可以输出多个相互独立的概率,这种分类问题有一个特别的名字叫“多标签分类”。
二元交叉熵损失函数
平方误差损失函数不适用分类模型,这样产生函数会有多个极值成台阶状(因为分类模型的结果是离散的),故此处有专门适用于分类模型的损失函数:
L=lerp(−log(1−y^),−log(y^),y)=−(1−y)log(1−y^)−ylog(y^)
- 注意:此处 y^∈{0,1}
−log 在此处的值域为[+∞,0],所以当y=1,y^=1 时,−log(y^)=0 即没有误差,反之依然。
二元交叉熵损失函数求导
根据链式法则有:
dwdL=dgdLdzdgdwdz
dbdL=dgdLdzdgdbdz
依次求解可得:
dgdL=(−(1−y)log(1−g)−ylog(g))′=1−g1−y−gy=(1−g)g(1−y)g−y(1−g)=(1−g)gg−yg−y+yg=(1−g)gg−y
dzdg=(1+e−z1)′=((1+e−z)−1)′∗(1+e−z)′=−(1+e−z)−2∗−e−z=(1+e−z)2e−z=1+e−ze−z∗1+e−z1=1+e−z1+e−z−1g=(1−g)g
dgdLdzdg=(1−g)gg−y(1−g)g=g−y
dwdz=(wx+b)′=x
dbdz=(wx+b)′=1
故最终可得:
dwdL=(g−y)x=(y^−y)x
dbdL=(g−y)=y^−y
Softmax 回归模型
Softmax 回归是逻辑回归的多维泛化版本(二维 Softmax 等于逻辑回归),用于实现从多个类型中预测结果,其回归函数如下:
zj=w⋅x+bj ∣ j=1,…,N
aj=∑k=1Nezkezj=P(y=j∣x)
可见 Softmax 会输出多个结果,而每个结果都是预测为该分类的概率,所有概率相加等于 1。这种多中选一的问题,叫做“多类分类问题”。
稀疏分类交叉损失函数
这是 Softmax 采用的损失函数,其计算方法与逻辑回归类似:
L(a,y)=−log(ay)