yeo-donignon-sekou/LLM-Hallucination-Detection-and-Classification
GitHub: yeo-donignon-sekou/LLM-Hallucination-Detection-and-Classification
利用机器学习与数据科学技术,对多个大语言模型生成回答中的幻觉现象进行分析、检测和分类的数据科学项目。
Stars: 0 | Forks: 0
# LLM-Hallucination-Detection-and-Classification
使用 Machine Learning、EDA、Feature Engineering 和分类模型(Random Forest、Extra Trees、Gradient Boosting)对 LLM 的幻觉进行分析与检测。
# 🧠 LLM 幻觉检测与 Machine Learning 分类
## 📌 项目概述
诸如 GPT-4o、Claude、Gemini 或 Llama 这样的大型语言模型(LLM)正在彻底改变人工智能领域。然而,它们面临的主要挑战之一是生成**幻觉**,即看起来可信但实际上包含虚假、捏造或自相矛盾信息的回答。
本项目旨在利用 Data Science 和 Machine Learning 技术,对 LLM 产生的幻觉进行分析、理解和预测。
本 notebook 包含:
* 探索性数据分析(EDA)
* 统计分析
* 数据预处理
* Feature Engineering
* 监督分类
* 模型评估
* 解释与幻觉相关的风险因素
最终目标是构建能够预测 LLM 生成的回答是否为幻觉的模型。
# 🎯 项目目标
本项目的主要目标是:
* 研究多个 LLM 生成的幻觉
* 比较不同模型之间的幻觉率
* 识别风险最高的 prompt 类型
* 研究最敏感的领域
* 评估缓解策略的有效性
* 构建相关特征变量
* 训练多个 Machine Learning 模型
* 自动检测幻觉回答
# 📂 Dataset 描述
该 dataset 包含由多个语言模型生成的 **200 条标注回答**。
每条观测数据包含以下信息:
| 变量 | 描述 |
| ----------------------- | ---------------------- |
| `model_name` | 使用的语言模型 |
| `prompt_type` | prompt 类型 |
| `domain` | 主题领域 |
| `task_type` | NLP 任务类型 |
| `language` | 使用的语言 |
| `hallucination_label` | 目标变量 |
| `hallucination_type` | 幻觉类型 |
| `severity` | 严重程度 |
| `domain_risk` | 领域风险等级 |
| `annotation_confidence` | 标注者置信度 |
| `mitigation_strategy` | 使用的缓解策略 |
# 🎯 目标变量
项目的目标变量为:
```
hallucination_label
```
其中:
* `1` → 幻觉回答
* `0` → 非幻觉回答
因此,该问题被表述为**二元分类**问题。
# 🔍 探索性数据分析(EDA)
探索性数据分析用于从多个维度研究幻觉的表现。
进行的分析包括:
* 缺失值分析
* 幻觉分布
* 严重程度分析
* LLM 模型比较
* prompt 类型分析
* 高风险领域分析
* 语言分析
* 缓解策略研究
* 标注者置信度分析
* 相关性研究
# 📊 主要结果
## ✅ 总体幻觉率
* 生成的回答中有 **34.5 %** 包含幻觉
* 大约 **45 %** 的幻觉被归类为高严重程度
这些结果表明了幻觉检测系统的重要性,尤其是在敏感领域。
## 🤖 模型比较
在测试的模型中:
* **Llama-3.1-70B** 的幻觉率最高
* **GPT-4o** 和 **Claude-3.5-Sonnet** 表现最佳
这突显了不同 LLM 架构在可靠性上的重要差异。
## ⚠️ Prompt 类型的影响
分析表明:
* **对抗性 prompt** 产生的幻觉最多
* **Multi-Hop** prompt 的风险也非常高
需要复杂推理的任务增加了出错的风险。
## 🏥 高风险领域
最敏感的领域是:
* 医学
* 法律
这些领域需要极高的事实可靠性水平。
## 🛡️ 缓解策略
缓解策略显著减少了幻觉。
观察到的最有效方法包括:
1. RAG(Retrieval-Augmented Generation)
2. Self-Consistency
3. Structured Prompting
观察到的降幅:
* 幻觉率降低了约 **13 个百分点**
# 🛠️ Feature Engineering
为了提升模型性能,创建了多个衍生变量:
| 创建的变量 | 作用 |
| ----------------------- | ------------------------ |
| `log_prompt_len` | prompt 复杂度 |
| `log_response_len` | 回答复杂度 |
| `response_prompt_ratio` | 冗长程度 |
| `is_high_stakes` | 敏感领域 |
| `is_adversarial` | 对抗性 prompt |
| `is_multihop` | 多步推理 |
| `mit_applied_int` | 已应用缓解策略 |
这些变量有助于更好地捕捉与幻觉相关的信号。
# 🤖 Machine Learning 模型
训练并比较了多种监督学习算法:
* 逻辑回归
* K-Nearest Neighbors (KNN)
* Naive Bayes
* Decision Tree
* Random Forest
* Extra Trees
* Gradient Boosting
# 📈 模型评估
使用以下指标对模型进行评估:
* Accuracy
* F1-Score
* ROC-AUC
* 交叉验证
基于树的模型获得了最佳性能。
最佳模型:
✅ Random Forest
✅ Extra Trees
这些模型能够有效捕捉变量之间的非线性关系。
# 🔥 特征重要性
预测幻觉时最重要的变量包括:
* `annotation_confidence`
* `model_name_enc`
* `domain_risk_enc`
* `prompt_type_enc`
* `mit_applied_int`
这些结果表明,幻觉高度依赖于:
* 使用的模型,
* prompt 的类型,
* 领域的风险等级,
* 缓解策略的使用。
# 📉 项目局限性
本项目存在一些局限性:
* dataset 较小(200 条观测数据)
* 存在抽样偏差的风险
* 交叉验证中的方差较高
* 文本的语义表示有限
因此,在解释结果时应当谨慎。
# 🚀 可能的改进
可以考虑进行几项改进:
* 增加 dataset 的规模
* 使用高级 NLP embeddings
* 对 BERT / RoBERTa 模型进行 Fine-tuning
* 实时幻觉检测
* 集成 Deep Learning 架构
* AI + 人工验证的混合系统
# 🧰 使用的技术
## Data Science 与编程
* Python
* Pandas
* NumPy
* Scikit-learn
* Matplotlib
* Seaborn
## Machine Learning
* Random Forest
* Extra Trees
* Gradient Boosting
* Logistic Regression
## 可视化
* 热力图
* ROC 曲线
* 相关性矩阵
* 特征重要性
# 📌 结论
本项目展示了如何利用 Data Science 和 Machine Learning 来分析和预测大型语言模型生成的幻觉。
除了模型的性能之外,本 notebook 还突显了现代人工智能面临的一个重大挑战:
随着 LLM 被整合到医疗、金融、法律或教育等关键领域,幻觉检测变得至关重要。
因此,该项目为开发更安全、更可靠的 AI 系统奠定了坚实的基础。
# 👨💻 作者
**YEO Donignon Sékou**
硕士二年级 — 数学工程与 Data Science
蔚蓝海岸大学
📌 兴趣领域:
* Data Science
* Machine Learning
* 人工智能
* NLP
* 量化金融
* AI 系统的可靠性
标签:Apex, DLL 劫持, hallucination检测, 人工智能, 大语言模型, 数据科学, 文本分类, 机器学习, 用户模式Hook绕过, 资源验证, 逆向工具