我正在开发一个简单的人工智能程序,该程序使用无监督学习方法对形状进行分类。本质上,我使用边数和边之间的角度,并生成形状理想值的聚合百分比。这有助于我在结果中创建一些模糊性。
问题是如何表示分类中的错误程度或置信度?例如:一个看起来非常像正方形的小矩形会产生来自两个类别的夜间成员(member)资格值,但我可以表示错误程度吗?
谢谢
最佳答案
您的信心基于所使用的型号。例如,如果您只是应用一些基于角度(或边数)的规则,那么您就有了对象的一些多维表示:
feature 0, feature 1, ..., feature m
不错的统计方法
您可以根据您的经验结果定义某种置信区间,例如。您可以将多维高斯分布拟合到您对“矩形对象”的经验观察中,一旦您获得一个新对象,您只需检查高斯分布中该值的概率,并有您的信心(这将是非常合理的假设您的“观察”误差呈正态分布)。
基于距离的简单方法
较少的统计方法是直接采用模型的决策因子并将其压缩到 [0,1] 区间。例如,如果您只是以某种度量测量从某个完美形状到新对象的距离(产生 [0,inf)中的结果),您可以使用一些类似 sigmoid 的函数来映射它,例如。
conf( object, perfect_shape ) = 1 - tanh( distance( object, perfect_shape ) )
双曲正切会将值“压缩”到 [0,1] 区间,唯一剩下的事情就是选择一些缩放因子(因为它增长得非常快)
这种方法在数学术语中不太有效,但与神经网络中采用的方法类似。
相对方法
还可以使用距离度量来定义更多概率方法。如果您有到每个“完美形状”的距离,您可以计算一个对象被分类为某个类别的概率,假设该分类是随机执行的,概率与到完美形状的距离的倒数成正比。
dist(object, perfect_shape1) = d_1
dist(object, perfect_shape2) = d_2
dist(object, perfect_shape3) = d_3
...
inv( d_i )
conf(object, class_i) = -------------------
sum_j inv( d_j )
哪里
inv( d_i ) = max( d_j ) - d_i
结论
前两个想法也可以合并到第三个想法中,以利用所有类别的知识。在您的特定示例中,第三种方法应该导致矩形和圆形的置信度约为 0.5
,而在第一个示例中,它会更接近于 0.01
(取决于“训练”集中有多少个这么小的物体),这显示了差异 - 前两种方法显示了您对分类为特定形状本身的信心,而第三种方法显示了相对信心(因此它可以很低,当且仅当对于其他一些类别来说很高,而前两个可以简单地回答“没有分类是可信的”)
关于statistics - 代表分类置信度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422978/