[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mikeizbicki--HLearn":3,"tool-mikeizbicki--HLearn":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":78,"owner_website":82,"owner_url":83,"languages":84,"stars":117,"forks":118,"last_commit_at":119,"license":120,"difficulty_score":121,"env_os":122,"env_gpu":122,"env_ram":122,"env_deps":123,"category_tags":128,"github_topics":78,"view_count":10,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":129,"updated_at":130,"faqs":131,"releases":160},795,"mikeizbicki\u002FHLearn","HLearn","Homomorphic machine learning","HLearn 是一款基于 Haskell 开发的高性能机器学习库，致力于探索机器学习的最佳接口设计。它旨在打破速度与灵活性的界限，既拥有接近 C\u002FC++ 的低级计算效率，又具备 Python 等高级语言的易用性，试图在两者之间取得更优平衡。\n\nHLearn 主要解决机器学习算法中性能瓶颈与调试困难的问题。通过引入同态概念，它将抽象代数结构融入学习系统，利用 Monoid 实现并行批量训练与在线学习，借助阿贝尔群支持数据点的“反训练”（移除已学数据）及加权处理。此外，其独有的 History Monad 允许在不修改原代码的情况下追踪优化过程中的调试信息，且无运行时开销。\n\nHLearn 非常适合熟悉函数式编程的开发者以及关注底层算法原理的研究人员。虽然目前文档尚不完善，支持的热门算法也有限，但它在高性能数值计算与代数化建模方面的独特尝试，为机器学习领域提供了新的视角。建议从示例代码入手探索其潜力。","# HLearn\n\n\u003C!--![](https:\u002F\u002Ftravis-ci.org\u002Fmikeizbicki\u002FHLearn.svg)-->\n\nHLearn is a high performance machine learning library written in [Haskell](http:\u002F\u002Fhaskell.org).\nFor example, it currently has the fastest nearest neighbor implementation for arbitrary metric spaces (see [this blog post](http:\u002F\u002Fizbicki.me)).\n\nHLearn is also a research project.\nThe research goal is to discover the \"best possible\" interface for machine learning.\nThis involves two competing demands:\nThe library should be as fast as low-level libraries written in C\u002FC++\u002FFortran\u002FAssembly;\nbut it should be as flexible as libraries written in high level languages like Python\u002FR\u002FMatlab.\n[Julia](http:\u002F\u002Fjulialang.org\u002F) is making amazing progress in this direction,\nbut HLearn is more ambitious.\nIn particular, HLearn's goal is to be *faster* than the low level languages and *more flexible* than the high level languages.\n\nTo achieve this goal, HLearn uses a very different interface than standard learning libraries.\nThe H in HLearn stands for three separate concepts that are fundamental to HLearn's design:\n\n1. The H stands for [Haskell](http:\u002F\u002Fhaskell.org).\nMachine learning is about estimating *functions* from data,\nso it makes sense that a functional programming language would be well suited for machine learning.\nBut Functional programming languages are not widely used in machine learning because they traditionally lack strong support for the fast numerical computations required for learning algorithms.\nHLearn uses the [SubHask](http:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002Fsubhask) library to get this fast numeric support in Haskell.\nThe two libraries are being developed in tandem with each other.\n\u003C!--Languages like Agda\u002FCoq\u002FIdris provide more advanced type systems,-->\n\u003C!--but their compilers lack the support for real world optimizations needed for numerical applications.-->\n\u003C!--Haskell strikes a nice balance.-->\n\n1. The H stands for [Homomorphisms](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHomomorphism).\nHomomorphisms are a fundamental concept in [abstract algebra](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAbstract_algebra),\nand HLearn exploits the algebraic structures inherrent in learning systems.\nThe following table gives a brief overview of what these structures give us:\n\n    | Structure     | What we get                           |\n    |:--------------|:--------------------------------------|\n    | Monoid        | parallel batch training               |\n    | Monoid        | online training                       |\n    | Monoid        | fast cross-validation                 |\n    | Abelian group | \"untraining\" of data points           |\n    | Abelian group | more fast cross-validation            |\n    | R-Module      | weighted data points                  |\n    | Vector space  | fractionally weighted data points     |\n    | Functor       | fast simple preprocessing of data     |\n    | Monad         | fast complex preprocessing of data    |\n\n1. The H stands for the [History monad](https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Fblob\u002Fmaster\u002Fsrc\u002FHLearn\u002FHistory.hs).\nOne of the most difficult tasks of developing a new learning algorithm is debugging the optimization procedure.\nThere has previously been essentially no work on making this debugging process easier,\nand the `History` monad tries to solve this problem.\nIt lets you thread debugging information throughout the optimization code *without modifying the original code*.\nFurthermore, there is no runtime overhead associated with this technique.\n\nThe downside of HLearn's ambition is that it currently does not implement many of the popular machine learning techniques.\n\n## More Documentation\n\nDue to the rapid pace of development, HLearn's documentation is sparse.\nThat said, the [examples](https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Ftree\u002Fmaster\u002Fexamples) folder is a good place to start.\nThe haddock documentation embedded within the code is decent;\nbut unfortunately, hackage is unable to compile the haddocks because it uses an older version of GHC.\n\nHLearn has several academic papers:\n\n* ICML15 - [Faster Cover Trees](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Ficml2015-faster-cover-trees.pdf)\n* ICML13 - [Algebraic Classifiers: a generic approach to fast cross-validation, online training, and parallel training](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Ficml2013-algebraic-classifiers.pdf)\n* TFP13 - [HLearn: A Machine Learning Library for Haskell](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Ftfp2013-hlearn-a-machine-learning-library-for-haskell.pdf)\n\nThere are also a number of blog posts on [my personal website](http:\u002F\u002Fizbicki.me).\nUnfortunately, they are mostly out of date with the latest version of HLearn.\nThey might help you understand some of the main concepts in HLearn, but the code they use won't work at all.\n\n* [The categorical distribution's monoid\u002Fgroup\u002Fmodule Structure](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fthe-categorical-distributions-algebraic-structure)\n* [The categorical distribution's functor\u002Fmonad structure](http:\u002F\u002Fizbicki.me\u002Fblog\u002Ffunctors-and-monads-for-analyzing-data)\n* [Markov Networks, monoids, and futurama](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fmarkov-networks-monoids-and-futurama)\n* [Solving NP-complete problems with HLearn, and how to write your own HomTrainer instances](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Fmonoids-for-approximating-np-complete-problems.pdf)\n* [Nuclear weapon statistics using monoids, groups, and modules](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fnuclear-weapon-statistics-using-monoids-groups-and-modules-in-haskell)\n* [Gaussian distributions form a monoid](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fgausian-distributions-are-monoids)\n* [HLearn cross-validates >400x faster than Weka](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fhlearn-cross-validates-400x-faster-than-weka)\n* [HLearn's code is shorter and clearer than Weka's](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fhlearns-code-is-shorter-and-clearer-than-wekas)\n\n## Contributing\n\n\u003C!--If you want to contribute, I'd be happy to help you get started.-->\nI'd love to have you contribute, and I'd be happy to help you get started!\nJust [create an issue](https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002Fhlearn\u002Fissues) to let me know you're interested and we can work something out.\n","# HLearn\n\n\u003C!--![](https:\u002F\u002Ftravis-ci.org\u002Fmikeizbicki\u002FHLearn.svg)-->\n\nHLearn 是一个用 [Haskell](http:\u002F\u002Fhaskell.org) 编写的高性能机器学习 (machine learning) 库。\n例如，它目前拥有任意度量空间 (metric spaces) 中最快的最近邻 (nearest neighbor) 实现（参见 [这篇博客文章](http:\u002F\u002Fizbicki.me)）。\n\nHLearn 也是一个研究项目。\n其研究目标是发现机器学习的“最佳可能”接口。\n这涉及两个相互竞争的需求：\n该库的速度应能与用 C\u002FC++\u002FFortran\u002F汇编 (Assembly) 编写的底层 (low-level) 库媲美；\n但它应具备像用 Python\u002FR\u002FMatlab 等高级 (high level) 语言编写的库那样的灵活性。\n[Julia](http:\u002F\u002Fjulialang.org\u002F) 在这方面取得了惊人的进展，\n但 HLearn 的野心更大。\n特别是，HLearn 的目标是比低级语言*更快*，比高级语言*更灵活*。\n\n为了实现这一目标，HLearn 使用了与标准学习库截然不同的接口。\nHLearn 中的\"H\"代表三个对 HLearn 设计至关重要的独立概念：\n\n1. H 代表 [Haskell](http:\u002F\u002Fhaskell.org)。\n机器学习是关于从数据中估计*函数*，\n因此，函数式编程 (Functional programming) 语言非常适合机器学习是有道理的。\n但函数式编程语言在机器学习中并未被广泛使用，因为它们传统上缺乏对学习算法所需的高速数值计算 (numerical computations) 的强力支持。\nHLearn 使用 [SubHask](http:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002Fsubhask) 库来获得 Haskell 中的这种快速数值支持。\n这两个库正在同步开发。\n\u003C!--Languages like Agda\u002FCoq\u002FIdris provide more advanced type systems,-->\n\u003C!--but their compilers lack the support for real world optimizations needed for numerical applications.-->\n\u003C!--Haskell strikes a nice balance.-->\n\n2. H 代表 [同态映射 (Homomorphisms)](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHomomorphism)。\n同态映射是 [抽象代数 (abstract algebra)](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAbstract_algebra) 中的一个基本概念，\nHLearn 利用了学习系统中固有的代数结构。\n下表简要概述了这些结构为我们提供了什么：\n\n    | 结构 (Structure)     | 功能 (What we get)                           |\n    |:--------------|:--------------------------------------|\n    | 幺半群 (Monoid)        | 并行批量训练 (parallel batch training)               |\n    | 幺半群 (Monoid)        | 在线训练 (online training)                       |\n    | 幺半群 (Monoid)        | 快速交叉验证 (fast cross-validation)                 |\n    | 阿贝尔群 (Abelian group) | \"反训练\" (\"untraining\") 数据点           |\n    | 阿贝尔群 (Abelian group) | 更多的快速交叉验证 (more fast cross-validation)            |\n    | R-模 (R-Module)      | 加权数据点 (weighted data points)                  |\n    | 向量空间 (Vector space)  | 分数加权数据点 (fractionally weighted data points)     |\n    | 函子 (Functor)       | 数据快速简单预处理 (fast simple preprocessing of data)     |\n    | 单子 (Monad)         | 数据快速复杂预处理 (fast complex preprocessing of data)    |\n\n3. H 代表 [历史单子 (History monad)](https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Fblob\u002Fmaster\u002Fsrc\u002FHLearn\u002FHistory.hs)。\n开发新学习算法最困难的任务之一是调试优化 (optimization) 过程。\n此前几乎没有关于简化此调试过程的工作，\n而 `History` 单子试图解决这个问题。\n它允许你在不修改原始代码的情况下，将调试信息贯穿整个优化代码。\n此外，该技术没有关联的运行时开销 (runtime overhead)。\n\nHLearn 野心的代价是，它目前尚未实现许多流行的机器学习技术。\n\n## 更多文档\n\n由于开发节奏迅速，HLearn 的文档比较稀疏。\n话虽如此，[示例](https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Ftree\u002Fmaster\u002Fexamples) 文件夹是个不错的起点。\n嵌入代码中的 haddock 文档还不错；\n但不幸的是，hackage 无法编译 haddock，因为它使用的是旧版本的 GHC。\n\nHLearn 有几篇学术论文：\n\n* ICML15 - [Faster Cover Trees](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Ficml2015-faster-cover-trees.pdf)\n* ICML13 - [Algebraic Classifiers: a generic approach to fast cross-validation, online training, and parallel training](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Ficml2013-algebraic-classifiers.pdf)\n* TFP13 - [HLearn: A Machine Learning Library for Haskell](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Ftfp2013-hlearn-a-machine-learning-library-for-haskell.pdf)\n\n我的个人网站 [http:\u002F\u002Fizbicki.me](http:\u002F\u002Fizbicki.me) 上也有许多博客文章。\n不幸的是，它们大多与 HLearn 的最新版本不符。\n它们可能有助于你理解 HLearn 的一些主要概念，但它们使用的代码完全无法运行。\n\n* [The categorical distribution's monoid\u002Fgroup\u002Fmodule Structure](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fthe-categorical-distributions-algebraic-structure)\n* [The categorical distribution's functor\u002Fmonad structure](http:\u002F\u002Fizbicki.me\u002Fblog\u002Ffunctors-and-monads-for-analyzing-data)\n* [Markov Networks, monoids, and futurama](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fmarkov-networks-monoids-and-futurama)\n* [Solving NP-complete problems with HLearn, and how to write your own HomTrainer instances](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Fmonoids-for-approximating-np-complete-problems.pdf)\n* [Nuclear weapon statistics using monoids, groups, and modules](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fnuclear-weapon-statistics-using-monoids-groups-and-modules-in-haskell)\n* [Gaussian distributions form a monoid](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fgausian-distributions-are-monoids)\n* [HLearn cross-validates >400x faster than Weka](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fhlearn-cross-validates-400x-faster-than-weka)\n* [HLearn's code is shorter and clearer than Weka's](http:\u002F\u002Fizbicki.me\u002Fblog\u002Fhlearns-code-is-shorter-and-clearer-than-wekas)\n\n## 贡献\n\n\u003C!--If you want to contribute, I'd be happy to help you get started.-->\n我很欢迎你的贡献，并且很乐意帮助你入门！\n只需 [创建一个 issue](https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002Fhlearn\u002Fissues) 告诉我你有兴趣，我们可以商量一下。","# HLearn 快速上手指南\n\n## 1. 环境准备\n\nHLearn 是一个基于 [Haskell](http:\u002F\u002Fhaskell.org) 的高性能机器学习库。在开始之前，请确保您的开发环境满足以下要求：\n\n- **操作系统**: Linux \u002F macOS \u002F Windows\n- **编程语言**: Haskell\n- **编译器**: GHC (Glasgow Haskell Compiler)\n- **包管理工具**: Cabal 或 Stack\n- **依赖库**: SubHask (HLearn 的核心数值计算支持库)\n\n建议使用 [`ghcup`](https:\u002F\u002Fwww.haskell.org\u002Fghcup\u002F) 来管理 Haskell 环境，它会自动处理 GHC 版本和包管理器。\n\n## 2. 安装步骤\n\n由于 HLearn 处于快速开发阶段，推荐通过源码构建以获取最新功能，或直接尝试从 Hackage 安装。\n\n### 方式一：从 Hackage 安装（稳定版）\n\n```bash\ncabal update\ncabal install hlearn\n```\n\n### 方式二：从源码构建（最新版）\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn.git\ncd HLearn\nstack build\n```\n\n*注意：Hackage 上的文档可能因 GHC 版本问题无法编译，建议优先关注源码中的示例。*\n\n## 3. 基本使用\n\nHLearn 的设计哲学围绕三个核心概念（三个 \"H\"），其接口与传统机器学习库不同。\n\n### 核心特性\n1. **Haskell**: 利用函数式编程特性处理数据与函数的估计。\n2. **Homomorphisms**: 利用代数结构（如 Monoid, Abelian group）实现并行批训练、在线训练及快速交叉验证。\n3. **History Monad**: 在不修改原始代码的情况下追踪优化过程的调试信息。\n\n### 运行示例\n官方文档较少，最直接的入门方式是查看项目中的示例代码：\n\n```bash\n# 进入示例目录查看\nls examples\u002F\n\n# 运行特定示例（具体名称请参考仓库）\nstack exec --example \u003Cexample_name>\n```\n\n### 参考资源\n- **示例代码**: [HLearn\u002Fexamples](https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Ftree\u002Fmaster\u002Fexamples)\n- **学术论文**: \n  - [Faster Cover Trees (ICML15)](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Ficml2015-faster-cover-trees.pdf)\n  - [Algebraic Classifiers (ICML13)](http:\u002F\u002Fizbicki.me\u002Fpublic\u002Fpapers\u002Ficml2013-algebraic-classifiers.pdf)\n- **个人博客**: [mikeizbicki.me](http:\u002F\u002Fizbicki.me) (部分文章可能已过时，仅供参考概念)\n\n### 贡献代码\n如果您希望参与开发或遇到问题，欢迎创建 Issue 联系作者：\n[Create an issue](https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002Fhlearn\u002Fissues)","某金融风控团队正在开发实时反欺诈模型，面对海量交易数据，需要频繁迭代算法并保证极低的延迟。\n\n### 没有 HLearn 时\n- 传统 Python 库在处理大规模数据并行训练时存在性能瓶颈，导致模型更新等待时间过长。\n- 调试优化算法过程复杂，往往需要修改核心代码才能追踪中间状态，且容易引入额外开销。\n- 发现误报样本后无法高效剔除，通常只能重新全量训练模型，资源浪费严重。\n- 交叉验证流程繁琐，难以快速评估不同参数组合对模型泛化能力的影响。\n\n### 使用 HLearn 后\n- HLearn 利用代数结构实现并行批训练，计算效率显著超越底层 C\u002FC++ 库，大幅缩短训练耗时。\n- History Monad 允许在不修改原代码的情况下追踪优化过程，提供零运行时开销的调试体验。\n- 基于阿贝尔群结构支持“反训练”功能，可精准移除特定数据点而无需重新构建整个模型。\n- 内置高效的交叉验证机制，结合在线训练特性，大幅缩短模型调优与评估周期。\n\nHLearn 通过代数抽象与函数式编程，在保持高性能的同时极大简化了机器学习系统的开发与调试流程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmikeizbicki_HLearn_b2ed323e.png","mikeizbicki","Mike Izbicki","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmikeizbicki_8e212be7.jpg",null,"Claremont McKenna College","Claremont, CA","mike@izbicki.me","izbicki.me","https:\u002F\u002Fgithub.com\u002Fmikeizbicki",[85,89,93,97,101,105,109,113],{"name":86,"color":87,"percentage":88},"Haskell","#5e5086",85.8,{"name":90,"color":91,"percentage":92},"C++","#f34b7d",9.2,{"name":94,"color":95,"percentage":96},"Shell","#89e051",2.6,{"name":98,"color":99,"percentage":100},"Java","#b07219",0.9,{"name":102,"color":103,"percentage":104},"C","#555555",0.7,{"name":106,"color":107,"percentage":108},"R","#198CE7",0.4,{"name":110,"color":111,"percentage":112},"Python","#3572A5",0.2,{"name":114,"color":115,"percentage":116},"Makefile","#427819",0.1,1713,134,"2026-04-03T17:07:14","NOASSERTION",4,"未说明",{"notes":124,"python":122,"dependencies":125},"该工具是基于 Haskell 语言开发的机器学习库，并非 Python 项目。文档相对稀疏，建议参考示例文件夹和代码内的 Haddock 注释。核心设计利用代数结构（如 Monoid、Abelian group）来实现并行训练和快速交叉验证等功能。",[86,126,127],"SubHask","GHC",[13],"2026-03-27T02:49:30.150509","2026-04-06T10:25:15.155928",[132,137,141,146,151,156],{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},3421,"安装 HLearn-classification 时出现 'Could not deduce (label ~ prob)' 编译错误是什么原因？","这是由包之间的依赖版本冲突引起的。当安装 HLearn-classification 时，它可能会引入与其他 HLearn 包不兼容的新版本。这通常发生在 GHC 7.6.3 等旧环境中。","https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Fissues\u002F30",{"id":138,"question_zh":139,"answer_zh":140,"source_url":136},3422,"如何正确安装 HLearn 相关包以避免依赖冲突？","建议在干净的 GHC 环境中一次性安装所有相关包，而不是逐个安装。执行命令：`cabal install HLearn-algebra HLearn-classification HLearn-datastructures HLearn-distributions`。这样可以确保 Cabal 解析所有依赖关系。",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},3423,"如果标准安装失败，有什么临时的解决步骤？","1. 删除本地包配置缓存：删除 `~\u002F.ghc\u002F[架构]\u002Fpackage.conf.d\u002F` 目录下的 `HLearn-*` 文件。2. 按顺序安装特定兼容版本：先运行 `cabal install HLearn-algebra-1.0.0.1`，再运行 `cabal install HLearn-distributions-1.0.0.1`，最后运行 `cabal install HLearn-classification-1.0.1.1`。","https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Fissues\u002F19",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},3424,"HLearn 是否支持使用 Stack 工具进行构建？","是的，Stack 可以正常工作。虽然默认可能需要列出许多包，但可以使用 Stackage snapshot（例如 lts-3.0）来构建，这样可以获得可复现的构建环境，避免自定义 sandbox 的麻烦。维护者已确认 Stack 支持有效。","https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Fissues\u002F63",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},3425,"HLearn 是否支持将变长列表（如 [Double]）作为数据点的特征？","目前 HLearn 主要设计用于固定长度的记录。由于 GHC 7.6 不支持原生的类型级自然数（Type Level Nats），变长列表的支持是通过类型族 hack 实现的。这计划在 GHC 7.8 及更高版本中通过原生支持得到改进。","https:\u002F\u002Fgithub.com\u002Fmikeizbicki\u002FHLearn\u002Fissues\u002F13",{"id":157,"question_zh":158,"answer_zh":159,"source_url":155},3426,"HLearn 对 GHC 版本的兼容性有哪些已知限制？","HLearn 的部分类型族实现依赖于 GHC 7.8 才能完美支持类型级自然数。如果在早期版本（如 7.6）中使用，可能会遇到类型推导问题（如 label ~ prob 错误）。建议关注 GHC 7.8+ 以获取更好的类型系统支持。",[161,166],{"id":162,"version":163,"summary_zh":164,"released_at":165},112721,"2.0.0.0","This is a complete rewrite of HLearn from previous versions.  The interface is much more stable, but still not fully developed.  The main selling point of this release is the fast nearest neighbor queries provided by the cover tree data structure and `hlearn-allknn` executable.\n","2015-07-22T15:47:42",{"id":167,"version":168,"summary_zh":169,"released_at":170},112722,"1.1","This release demonstrates the first basic experiments in an algebraic interface for machine learning.  Unfortunately, Haskell's standard libraries don't support what HLearn needs, so the interface is clunky and hard to use.\n","2013-07-27T22:54:56"]