Token导航 LogoToken导航TokenDH.com
待分类权限需确认github未标认证来源可访问许可证需确认审计通过

active-learning-system主动学习系统

Agent Skill

active-learning-system 用于记录任务执行中的错误、用户纠正、经验和能力缺口,适合在 Codex、Claude、Cursor、Gemini CLI 中希望让 Agent 持续沉淀问题、修正和最佳实践时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,616

周安装

66

GitHub Stars

4

下载量

523
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:active-learning-system(主动学习系统)
来源仓库:https://github.com/dengineproblem/agents-monorepo
仓库路径:skills/active-learning-system
安装命令:
npx skills add https://github.com/dengineproblem/agents-monorepo --skill active-learning-system
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dengineproblem/agents-monorepo --skill active-learning-system

简介

该技能实现机器学习中的主动学习系统,支持不确定性采样与委员会查询等策略。

  • 适用于标注成本高的场景下高效选择最具信息量的样本进行人工标注。
  • 提供 modAL 库集成方案,支持随机森林、SVM 等多种基础模型与查询策略组合。
  • 可用于图像分类、文本识别等任务的迭代训练流程自动化。
  • 初始化时需提供初始标注池与未标注数据集以启动学习循环。

SKILL.md

Active Learning System Expert

Эксперт по системам активного обучения для машинного обучения.

Основные стратегии

  • Uncertainty Sampling: Выбор примеров с наименьшей уверенностью модели
  • Query by Committee: Использование разногласий ансамбля
  • Expected Model Change: Выбор наиболее информативных образцов
  • Diversity-based Selection: Покрытие пространства признаков

Основной цикл активного обучения

from modAL import ActiveLearner
from modAL.uncertainty import uncertainty_sampling

class ActiveLearningSystem:
    def __init__(self, initial_labeled_pool, unlabeled_pool):
        self.labeled_X, self.labeled_y = initial_labeled_pool
        self.unlabeled_X = unlabeled_pool

        self.learner = ActiveLearner(
            estimator=RandomForestClassifier(n_estimators=100),
            query_strategy=uncertainty_sampling,
            X_training=self.labeled_X,
            y_training=self.labeled_y
        )

    def query_and_update(self, batch_size=10, oracle_func=None):
        query_indices = []
        temp_unlabeled = self.unlabeled_X.copy()

        for _ in range(min(batch_size, len(temp_unlabeled))):
            query_idx, query_instance = self.learner.query(temp_unlabeled)
            query_indices.append(query_idx)
            temp_unlabeled = np.delete(temp_unlabeled, query_idx, axis=0)

        queried_X = self.unlabeled_X[query_indices]
        queried_y = oracle_func(queried_X) if oracle_func else self.simulate_oracle(queried_X)

        self.learner.teach(queried_X, queried_y)
        self.unlabeled_X = np.delete(self.unlabeled_X, query_indices, axis=0)

        return query_indices, queried_X, queried_y

Query by Committee

class CommitteeActiveLearner:
    def __init__(self, X_initial, y_initial):
        self.committee = [
            RandomForestClassifier(n_estimators=50),
            GradientBoostingClassifier(n_estimators=50),
            SVC(probability=True)
        ]

        for clf in self.committee:
            clf.fit(X_initial, y_initial)

    def query_by_committee(self, X_pool, n_instances=1):
        disagreements = []

        for x in X_pool:
            predictions = [clf.predict_proba([x])[0] for clf in self.committee]
            avg_pred = np.mean(predictions, axis=0)
            disagreement = -np.sum(avg_pred * np.log(avg_pred + 1e-10))
            disagreements.append(disagreement)

        selected_indices = np.argsort(disagreements)[-n_instances:]
        return selected_indices, X_pool[selected_indices]

Мониторинг производительности

class ActiveLearningMonitor:
    def track_performance(self, model, X_test, y_test, n_annotations):
        accuracy = accuracy_score(y_test, model.predict(X_test))
        self.performance_history.append(accuracy)
        self.annotation_costs.append(n_annotations)

    def calculate_learning_efficiency(self):
        performance_gains = np.diff(self.performance_history)
        annotation_increments = np.diff(self.annotation_costs)
        efficiency = performance_gains / annotation_increments

        return {
            'current_efficiency': efficiency[-1],
            'average_efficiency': np.mean(efficiency),
            'efficiency_trend': np.polyfit(range(len(efficiency)), efficiency, 1)[0]
        }

    def suggest_stopping_criterion(self):
        efficiency = self.calculate_learning_efficiency()
        if efficiency['current_efficiency'] < 0.001:
            return "Consider stopping - low marginal gains"
        return "Continue learning"

Лучшие практики

Стратегия холодного старта

  • Используйте стратифицированную выборку для начального набора
  • Обеспечьте представленность всех классов
  • Начинайте минимум с 5-10 примеров на класс

Оптимизация размера батча

  • Маленькие батчи (5-20) для высокой неопределенности
  • Большие батчи (50-100) для дорогой аннотации
  • Учитывайте усталость аннотатора

Распространенные ловушки

  • Игнорирование дисбаланса классов
  • Чрезмерная зависимость от уверенности без калибровки
  • Пренебрежение согласованностью аннотаторов
  • Неучет шума аннотации

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.05%
按下载量换算189

Claude

29.07%
按下载量换算152

Cursor

17.2%
按下载量换算90

Gemini CLI

9.17%
按下载量换算48

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills