js所有案例总结,最好直接看原文

博客内容提及警示框,但未给出更多详细信息。

在这里插入图片描述在这里插入图片描述
警示框

### Jensen-Shannon Divergence 在归因分析中的应用 Jensen-Shannon Divergence(简称 JS 散度)是一种基于 KL 散度的测量方法,用于评估两个概率分布之间的差异程度。它具有对称性和有界性的特点,因此被广泛应用于机器习、数据挖掘以及生物信息等领域[^1]。 #### 应用场景:模型解释与特征重要性分析 在归因分析中,JS 散度可以用来量化不同输入条件下的模型预测分布变化情况。具体而言,在深度习领域,通过计算原始样本及其扰动版本对应的输出分布间的 JS 散度,能够识别哪些输入变量对模型决策产生了显著影响。这种方法不仅适用于图像分类任务,还扩展到了自然语言处理和时间序列预测等问题上。 以下是几个具体的例子: 1. **计算机视觉中的对抗攻击检测** 当研究者试图理解神经网络为何容易受到特定类型的噪声干扰时,他们可能会利用 JS 散度来比较正常图片经过轻微修改前后产生的软标签向量之间距离大小的变化趋势。如果发现某个区域内的像素调整导致了较大的 JS 值,则说明该部分可能成为潜在漏洞所在位置之一[^3]。 2. **文本生成质量评价指标构建** 对于自动摘要或者翻译系统来说,如何客观地判断其产出内容是否忠实原文且流畅可读是一个挑战。此时可以通过分别统计真实语料库与合成文档集合里词频模式形成的多项式分布,并进一步求解两者间平均KL散度的一半作为最终得分标准——即所谓的 JSD 得分越高代表二者越接近理想状态[^4]。 3. **单细胞数据分析中的基因调控网络推断** SCENIC 是一种流行的工具包,专门设计用于从大规模 scRNA-seq 数据集中提取候选转录因子(TF)-靶标关系列表并重建全局结构图谱。在这个过程中,为了筛选出真正有意义的核心模块组合而非随机关联事件,往往需要借助像 JS 距离这样的统计测度手段来进行过滤操作。例如,当面对多个竞争假设方案时,优先保留那些使得目标函数值最小化的选项即可视为最优解集[^2]。 ```python import numpy as np from scipy.spatial.distance import jensenshannon def calculate_js_divergence(p, q): """ 计算两个离散概率分布 p 和 q 的 Jensen-Shannon Divergence. 参数: p (list): 第一个概率分布 q (list): 第二个概率分布 返回: float: JS 散度的结果 """ # 将输入转换成 NumPy 数组形式以便后续运算更加高效简洁 p_array = np.array(p) q_array = np.array(q) # 确保所有元素均大于零以避免数值不稳定现象发生 p_normalized = p_array / sum(p_array) q_normalized = q_array / sum(q_array) # 使用 SciPy 提供的功能快速成核心逻辑实现过程 js_distance = jensenshannon(p_normalized, q_normalized, base=2) return js_distance**2 # 平方得到真正的 JS 散度而不是欧几里得意义上的几何意义上的距离概念 # 示例调用方式展示实际效果对比测试结果直观感受区别之处在哪里? distribution_1 = [0.25, 0.75] distribution_2 = [0.8, 0.2] js_result = calculate_js_divergence(distribution_1, distribution_2) print(f"The calculated Jensen Shannon Divergence is {js_result:.4f}.") ``` 以上代码片段展示了如何定义一个简单的 Python 函数 `calculate_js_divergence` 来手动执行上述提到的操作步骤。这有助于开发者更好地理解和验证理论基础的同时也为未来项目开发提供了实用参考模板。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值