2025-04-23 13:58:00
手机监听的几种方式:
获取麦克风权限用于窃听的方法,在经济成本和技术能力层面都不现实
根据字节的一篇科普文章可知
在 2020 年的 NDSS(国际信息安全界顶级会议)就有学者提出了一种名为 AccelEve(加速度计窃听)的智能手机用户语音监听方式,该方法可以利用其内置的加速度计来重建用户的音频信号
过去普遍认为,加速度计无法轻易获取或推断出像麦克风、摄像头或位置这样的敏感个人信息。因此,在不需要敏感系统权限的情况下,对智能手机中说话者的窃听几乎没有障碍 这也意味着很多手机零权限的 APP 也能获取到加速度计信息,并且还不违法
陀螺仪又称角速度传感器,不同于加速度计(G-sensor)的,它的测量物理量是偏转、倾斜时的转动角速度,从而精确分析判断出使用者的实际动作,也能用于手机摄像头防抖或 GPS 辅助
2017 年,英国纽卡斯尔大学的研究人员就写了一个名为 PINLogger.js
的攻击脚本
x, y, z
;这些测量中可以轻松识别出四次电话的开始时间、持续时间以及结束时间;右侧为实验期间手机的通话历史截图2025-04-23 09:39:00
过敏性休克
美国过敏性休克的终身患病率估计在 0.05%至 2%之间
过敏性休克的临床标准:美国国立过敏和传染病研究所(NIAID)金标准
儿童的低收缩压定义为:1 个月至 1 岁小于 70 mm Hg,1 至 10 岁小于(70 mm Hg + 2 × 年龄),11 至 17 岁小于 90 mm Hg
过敏性反应的 4 点分级(Ring and Messmer's 4-point grading system):1 级指皮肤症状、轻微发热反应或两者兼有,4 级指心脏或呼吸骤停
高危人群风险因素
基于机器学习预测的诊断增强:
其他常见诊断方法:
范德堡大学开发的过敏性休克警报器,这是一种作为手表佩戴的可穿戴健康监测设备。它监测佩戴者的血氧饱和度,如果读数低于 94%,则通过语音发出警报,并向附近目睹过敏性休克的旁观者提供治疗指导
其他资料补充:
应急准备:携带自动注射肾上腺素(如 EpiPens)并在出现过敏性休克迹象时使用它们
治疗方案:指南推荐肾上腺素作为一线治疗,辅以抗组胺药和皮质类固醇等联合治疗
个性化治疗:根据历史数据模拟各种治疗方案,以确定针对个体患者的最有效干预措施
参考:Artificial intelligence and machine learning for anaphylaxis algorithms
2025-04-18 10:41:00
缓和处理,在设置洗衣机档位时可以选择「轻柔」或跳过甩干程序
熨烫标识旁还会附有文字说明,比如:反面熨烫、湿熨烫、垫衬布熨烫等
如果衣物的标签中包括了专业维护的符号,那就送去洗衣店吧
参考:
2025-04-10 16:17:00
UMAP 算法
UMAP 定义的概念解释与补充:
由于均匀假设(空间是扭曲的),导致距离的度量只能是局部的,而不是整个空间通用的
常见的一维流形:线和圆,但不包括类似数字8的形状 常见的二维流形(又名曲面):平面、球体、环面等
UMAP 的算法过程分两步:(1)学习高维空间中的流形结构(2)找到该流形的低维表示
步骤 1:学习高维空间中的流形结构(图源 - UMAP 官方文档):
w_{ij}=\exp(\frac{-max(0,d_{ij}-\rho_{i})}{\sigma_{i}}) $$ - $k$ 最近邻的数量,用于控制算法抽取数据的局部或全局结构;$k$ 取值越小,算法的降维结果更倾向于捕捉原始数据中的局部结构;$k$ 取值越大,算法的降维结果更倾向于捕捉原始数据中的全部结构 - $\rho_{i}=min(d_{ij}|1\leq j \leq k,d_{ij}>0)$ ,该参数的选择描述了 $k$ 邻域图的局部连通性约束(一般默认值=1),即每个节点至少与其他一个节点相连的概率为 100% - $\sigma_{i}$ 对应平滑归一化因子,取值的经验公式如下:$\sum_{j\mathop{=}1}^{k}\exp\left({\frac{-\operatorname*{max}(0,d(x_{i},x_{i_{j}})-\rho_{i})}{\sigma_{i}}}\right)=\log_{2}(k).$ 3. $k$ 邻域图的加权邻接矩阵 $A$ 的对称化处理:$B=A+A^{\mathsf{T}}-A\circ A^{\mathsf{T}}$
对称化处理深入理解:假设节点 a 和节点 b 之间存在两个权重边 $w_{ab}$ 和 $w_{ba}$,对称化处理也对应着边的合并操作 $w_{ab}+w_{ba}-w_{ab}\cdot w_{ba}$;如果原始边权重对应边的存在概率,那合并后的边权重就是至少存在一条边的概率
最终得到了满足局部连通性约束的邻域图(高维空间中的流形结构):
步骤 2:找到该流形的低维表示
UMAP 的四个常用超参数:
n_neighbors
:指定最近邻的数量,用于控制算法抽取数据的局部或全局结构local_connectivity
:默认值为 1 ,意味着每个样本都至少与其他一个点相连min-dist
:默认值为 0.1,低维嵌入空间中节点之间的最小距离(分离度)n-epochs
:用于优化低维嵌入空间中节点表示的训练轮数
local_connectivity
和n_neighbors
分别决定了领域图节点数的下限与上限
UMAP VS t-SNE
不同降维可视化算法的对比(图源 - UMAP 官方论文):
随着数据维度的增加,UMAP 的性能表现明显优于其他模型(图源 - UMAP 官方论文):
参考:UMAP Dimensionality Reduction — An Incredibly Robust Machine Learning Algorithm
2025-04-08 14:03:00
仅搜集收录了部分个人感兴趣的文章,并进行简单记录
2025 年 04 月 03 日 文章链接
DeepSeek 通过三层赋能体系重构专病库价值:
非结构化数据智能解析
标准化治理与质量控制
疾病风险预测与分层管理
个性化诊疗决策支持
科研效率革命性提升
联邦学习驱动的跨机构协作
动态随访与闭环管理
2025 年 4 月 18 日 文章链接
对 83 篇研究论文进行了 Meta 分析,以评估生成式人工智能在医学领域的诊断能力
2025 年 04 月 05 日 文章链接
高流量鼻导管(HFNC)治疗失败:定义为 HFNC 治疗后24小时内需进行无创通气(NIV)、气管插管+机械通气,或死亡。
现有的临床指标:
数据说明:
主要结果:
基于SVM模型的决策支持工具,比现有临床指标更为准确的HFNC治疗早期结局预测
2022 年 10 月 11 日 文章链接
数据说明:
潜在事件的判定路径
特征说明:
建模结果:
2024 年 04 月 05 日 文章链接
数据说明:
建模方法:逻辑回归、LASSO、XGBoost、RF、SVM 和 NNW 等六种模型的集成
最终建模结果(多模型集成后的交叉验证 AUC=0.85)
2022 年 12 月 文章链接
数据说明:
特征选择方法:基于支持向量机(SVM)的递归特征消除(RFE)、卡方分析、基于相关性的特征选择(CFS)和信息增益率(IGR),最终筛选了 75 个特征用于模型构建
最终建模结果:线性判别分析结合递归特征消除表现出良好的性能,使用 25 个特征进行分类时,准确率为 0.867,马修斯相关系数(MCC)为 0.558。结合递归特征消除的逻辑回归模型也显示出足够的性能,使用六个特征进行分类时,准确率为 0.858,MCC 为 0.541
2025-04-07 15:18:00
t-SNE 算法
算法过程概述:
P_{j|i}=\frac{\exp(-||x_{i}-x_{j}||^2/2\sigma^2)}{\Sigma_{j}\exp(-||x_{i}-x_{j}||^2/2\sigma^2)} , \ \ \ \ \ P_{ij}=\frac{P_{j|i}+P_{i|j}}{2N} $$
$\sigma$ 是可调节的超参数(perplexity);$N$ 表示样本数;右侧公式是为了确保相似度矩阵的对称性
长尾性质:t 分布的长尾性质允许在低维空间中更好地分离远离的点,这有助于避免 PCA 降维中容易存在的“拥挤”现象,即在低维空间中不同簇之间的点被压缩在一起
t-SNE 算法示例:
# 基于 t-SNE 算法对手写数字数据集 MINIST 进行可视化
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
from sklearn import datasets
from sklearn import manifold
%matplotlib inline
# 获取 MNIST 数据集(国内网络可能下载失败)
data = datasets.fetch_openml(
'mnist_784', version=1, return_X_y=True)
pixel_values, targets = data
targets = targets.astype(int)
single_image = pixel_values[1, :].reshape(28, 28)
# plt.imshow(single_image, cmap='gray') 单个样本的可视化
# 对数据进行t-SNE转换
tsne = manifold.TSNE(n_components=2, random_state=42)
transformed_data = tsne.fit_transform(pixel_values[:3000, :])
tsne_df = pd.DataFrame(
np.column_stack((transformed_data, targets[:3000])),
columns=["x", "y", "targets"])
tsne_df.loc[:, "targets"] = tsne_df.targets.astype(int)
grid = sns.FacetGrid(tsne_df, hue="targets", size=8)
grid.map(plt.scatter, "x", "y").add_legend() # 可视化