検索
ホームページテクノロジー周辺機器AI強化学習戦略による特徴選択

強化学習戦略による特徴選択

Jun 05, 2024 pm 01:00 PM
機械学習強化学習

特徴の選択は、機械学習モデルを構築するプロセスにおける重要なステップです。モデルと達成したいタスクに適した特徴を選択すると、パフォーマンスが向上します。

強化学習戦略による特徴選択

高次元のデータセットを扱う場合、特徴の選択が特に重要です。これにより、モデルはより速く、より適切に学習できるようになります。目的は、最適な数の特徴と最も意味のある特徴を見つけることです。

この記事では、強化学習戦略による新しい特徴選択を紹介し、実装します。まず、強化学習、特にマルコフ決定プロセスについて説明します。これはデータ サイエンスの分野における非常に新しい手法であり、特に特徴の選択に適しています。次に、その実装と Python ライブラリ (FSRLearning) のインストールと使用方法を紹介します。最後に、簡単な例を使用してこのプロセスを示します。

強化学習: 特徴選択のためのマルコフ決定問題

強化学習 (RL) 手法は、ゲーム解決などの問題を解決するのに非常に効果的です。強化学習の概念はマルコフ決定プロセス (MDP) に基づいています。ここでのポイントは、詳細な定義に入ることではなく、それがどのように機能し、問題にどのように役立つかを一般的に理解することです。 強化学習では、エージェントは環境と対話することで学習します。現在の状態と報酬信号を観察して決定を下し、選択されたアクションに基づいて正または負のフィードバックを受け取ります。エージェントの目標は、さまざまなアクションを試して累積報酬を最大化することです。 強化学習の重要な概念

強化学習の背後にある考え方は、エージェントが未知の環境から開始するというものです。ミッションを完了するための捜索活動。エージェントは、現在の状態と以前に選択したアクションの影響を受けて、いくつかのアクションを選択する傾向が高くなります。新しい状態に到達してアクションが実行されるたびに、エージェントは報酬を受け取ります。特徴の選択のために定義する必要がある主なパラメーターは次のとおりです:

状態、アクション、報酬、アクションの選択方法

まず、データセット内に存在する特徴のサブセットです。たとえば、データセットに 3 つの特徴 (年齢、性別、身長) とラベルがある場合、考えられる状態は次のとおりです:

[] --> Empty set [Age], [Gender], [Height] --> 1-feature set [Age, Gender], [Gender, Height], [Age, Height] --> 2-feature set [Age, Gender, Height] --> All-feature set

ある状態では、特徴の順序は重要ではありません。機能のリストではなく、コレクションを作成します。

アクションに関しては、1 つのサブセットから未探索の機能の任意のサブセットに移動できます。特徴選択問題のアクションは、現在の状態でまだ調査されていない特徴を選択し、それらを次の状態に追加することです。可能なアクションをいくつか示します:

[Age] -> [Age, Gender] [Gender, Height] -> [Age, Gender, Height]

不可能なアクションの例を次に示します:

[Age] -> [Age, Gender, Height] [Age, Gender] -> [Age] [Gender] -> [Gender, Gender]

状態とアクションを定義しましたが、報酬はまだ定義していません。報酬は、状態の品質を評価するために使用される実数です。

特徴選択問題では、考えられる報酬の 1 つは、新しい特徴を追加することで同じモデルの精度メトリクスを向上させることです。報酬の計算方法の例は次のとおりです:

[Age] --> Accuracy = 0.65 [Age, Gender] --> Accuracy = 0.76 Reward(Gender) = 0.76 - 0.65 = 0.11

初めて訪問する州ごとに、一連の特徴を使用して分類子 (モデル) がトレーニングされます。この値は状態と対応する分類子に保存されます。分類子のトレーニングのプロセスは時間と労力がかかるため、トレーニングは 1 回だけ行います。分類器は特徴の順序を考慮しないため、この問題をツリーではなくグラフとして扱うことができます。この例では、モデルの新しい特徴として「性別」を選択した場合の報酬は、現在の状態と次の状態の精度の差です。

強化学習戦略による特徴選択

上の図では、各特徴が数値にマッピングされています (「年齢」は 1、「性別」は 2、「身長」は 3)。現在の状態から次の状態をどのように選択するか、あるいは環境をどのように探索するか?

10 個の特徴を持つ問題で考えられるすべての特徴セットを探索すると、状態の数は

10! + 2 = 3 628 802
になるため、最適な方法を見つける必要があります。

这里的+2是因为考虑一个空状态和一个包含所有可能特征的状态。我们不可能在每个状态下都训练一个模型,这是不可能完成的,而且这只是有10个特征,如果有100个特征那基本上就是无解了。

但是在强化学习方法中,我们不需要在所有的状态下都去训练一个模型,我们要为这个问题确定一些停止条件,比如从当前状态随机选择下一个动作,概率为epsilon(介于0和1之间,通常在0.2左右),否则选择使函数最大化的动作。对于特征选择是每个特征对模型精度带来的奖励的平均值。

这里的贪心算法包含两个步骤:

1、以概率为epsilon,我们在当前状态的可能邻居中随机选择下一个状态

2、选择下一个状态,使添加到当前状态的特征对模型的精度贡献最大。为了减少时间复杂度,可以初始化了一个包含每个特征值的列表。每当选择一个特性时,此列表就会更新。使用以下公式,更新是非常理想的:

強化学習戦略による特徴選択

AORf:特征“f”带来的奖励的平均值

K: f被选中的次数

V(F):特征集合F的状态值(为了简单描述,本文不详细介绍)

所以我们就找出哪个特征给模型带来了最高的准确性。这就是为什么我们需要浏览不同的状态,在在许多不同的环境中评估模型特征的最全局准确值。

因为目标是最小化算法访问的状态数,所以我们访问的未访问过的状态越少,需要用不同特征集训练的模型数量就越少。因为从时间和计算能力的角度来看,训练模型以获得精度是最昂贵方法,我们要尽量减少训练的次数。

最后在任何情况下,算法都会停止在最终状态(包含所有特征的集合)而我们希望避免达到这种状态,因为用它来训练模型是最昂贵的。

上面就是我们针对于特征选择的强化学习描述,下面我们将详细介绍在python中的实现。

用于特征选择与强化学习的python库

有一个python库可以让我们直接解决这个问题。但是首先我们先准备数据

我们直接使用UCI机器学习库中的数据:

#Get the pandas DataFrame from the csv file (15 features, 690 rows) australian_data = pd.read_csv('australian_data.csv', header=None)  #DataFrame with the features X = australian_data.drop(14, axis=1)  #DataFrame with the labels y = australian_data[14]

然后安装我们用到的库

pip install FSRLearning

直接导入

from FSRLearning import Feature_Selector_RL

Feature_Selector_RL类就可以创建一个特性选择器。我们需要以下的参数

feature_number (integer): DataFrame X中的特性数量

feature_structure (dictionary):用于图实现的字典

eps (float [0;1]):随机选择下一状态的概率,0为贪婪算法,1为随机算法

alpha (float [0;1]):控制更新速率,0表示不更新状态,1表示经常更新状态

gamma  (float[0,1]):下一状态观察的调节因子,0为近视行为状态,1为远视行为

nb_iter (int):遍历图的序列数

starting_state (" empty "或" random "):如果" empty ",则算法从空状态开始,如果" random ",则算法从图中的随机状态开始

所有参数都可以机型调节,但对于大多数问题来说,迭代大约100次就可以了,而epsilon值在0.2左右通常就足够了。起始状态对于更有效地浏览图形很有用,但它非常依赖于数据集,两个值都可以测试。

我们可以用下面的代码简单地初始化选择器:

fsrl_obj = Feature_Selector_RL(feature_number=14, nb_iter=100)

与大多数ML库相同,训练算法非常简单:

results = fsrl_obj.fit_predict(X, y)

下面是输出的一个例子:

強化学習戦略による特徴選択

输出是一个5元组,如下所示:

DataFrame X中特性的索引(类似于映射)

特征被观察的次数

所有迭代后特征带来的奖励的平均值

从最不重要到最重要的特征排序(这里2是最不重要的特征,7是最重要的特征)

全局访问的状态数

还可以与Scikit-Learn的RFE选择器进行比较。它将X, y和选择器的结果作为输入。

fsrl_obj.compare_with_benchmark(X, y, results)

输出是在RFE和FSRLearning的全局度量的每一步选择之后的结果。它还输出模型精度的可视化比较,其中x轴表示所选特征的数量,y轴表示精度。两条水平线是每种方法的准确度中值。

強化学習戦略による特徴選択

Average benchmark accuracy : 0.854251012145749, rl accuracy : 0.8674089068825909 Median benchmark accuracy : 0.8552631578947368, rl accuracy : 0.868421052631579 Probability to get a set of variable with a better metric than RFE : 1.0 Area between the two curves : 0.17105263157894512

可以看到RL方法总是为模型提供比RFE更好的特征集。

另一个有趣的方法是get_plot_ratio_exploration。它绘制了一个图,比较一个精确迭代序列中已经访问节点和访问节点的数量。

強化学習戦略による特徴選択

由于设置了停止条件,算法的时间复杂度呈指数级降低。即使特征的数量很大,收敛性也会很快被发现。下面的图表示一定大小的集合被访问的次数。

強化学習戦略による特徴選択

在所有迭代中,算法访问包含6个或更少变量的状态。在6个变量之外,我们可以看到达到的状态数量正在减少。这是一个很好的行为,因为用小的特征集训练模型比用大的特征集训练模型要快。

总结

我们可以看到RL方法对于最大化模型的度量是非常有效的。它总是很快地收敛到一个有趣的特性子集。该方法在使用FSRLearning库的ML项目中非常容易和快速地实现。

以上が強化学習戦略による特徴選択の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
摩擦から流れへ:AIがどのように法的作業を変えているか摩擦から流れへ:AIがどのように法的作業を変えているかMay 09, 2025 am 11:29 AM

法的技術革命は勢いを増し、法律専門家にAIソリューションを積極的に受け入れるように促しています。 受動的抵抗は、競争力を維持することを目指している人にとってはもはや実行可能な選択肢ではありません。 なぜテクノロジーの採用が重要なのですか? 法律専門家

これはAIがあなたのことを考えており、あなたについて知っていることですこれはAIがあなたのことを考えており、あなたについて知っていることですMay 09, 2025 am 11:24 AM

多くの人は、AIとの相互作用が匿名であると仮定しており、人間のコミュニケーションとはまったく対照的です。 ただし、AIはすべてのチャット中にユーザーを積極的にプロファイルします。 すべてのプロンプト、すべての単語が分析および分類されます。 AI Revoのこの重要な側面を探りましょう

繁栄した、AIの準備ができている企業文化を構築するための7つのステップ繁栄した、AIの準備ができている企業文化を構築するための7つのステップMay 09, 2025 am 11:23 AM

成功した人工知能戦略は、強力な企業文化サポートから分離することはできません。 Peter Druckerが言ったように、事業運営は人々に依存しており、人工知能の成功も依存しています。 人工知能を積極的に受け入れる組織の場合、AIに適応する企業文化を構築することが重要であり、AI戦略の成功または失敗さえ決定します。 ウェストモンローは最近、繁栄するAIに優しい企業文化を構築するための実用的なガイドをリリースしました。ここにいくつかの重要なポイントがあります。 1. AIの成功モデルを明確にする:まず第一に、AIがどのようにビジネスに力を与えることができるかについての明確なビジョンが必要です。理想的なAI操作文化は、人間とAIシステム間の作業プロセスの自然統合を実現できます。 AIは特定のタスクが得意であり、人間は創造性と判断が得意です

Netflix New Scroll、Meta AI'のゲームチェンジャー、Neuralinkは85億ドルで評価されていますNetflix New Scroll、Meta AI'のゲームチェンジャー、Neuralinkは85億ドルで評価されていますMay 09, 2025 am 11:22 AM

メタはAIアシスタントアプリケーションをアップグレードし、ウェアラブルAIの時代が来ています! ChatGPTと競合するように設計されたこのアプリは、テキスト、音声インタラクション、画像生成、Web検索などの標準的なAI機能を提供しますが、初めてジオロケーション機能を追加しました。これは、メタAIがあなたがどこにいるのか、あなたがあなたの質問に答えるときにあなたが何を見ているのかを知っていることを意味します。興味、場所、プロファイル、アクティビティ情報を使用して、これまで不可能な最新の状況情報を提供します。このアプリはリアルタイム翻訳もサポートしており、レイバンメガネのAIエクスペリエンスを完全に変更し、その有用性を大幅に改善しました。 外国映画への関税の賦課は、メディアや文化に対する裸の力の行使です。実装された場合、これはAIと仮想生産に向かって加速します

AIサイバー犯罪から身を守るために、今日これらの手順を踏んでくださいAIサイバー犯罪から身を守るために、今日これらの手順を踏んでくださいMay 09, 2025 am 11:19 AM

人工知能は、サイバー犯罪の分野に革命をもたらし、新しい防御スキルを学ぶことを強いています。サイバー犯罪者は、ディープフォーファリーやインテリジェントなサイバー攻撃などの強力な人工知能技術を、前例のない規模で詐欺と破壊に使用しています。過去1年間、グローバルビジネスの87%がAIサイバー犯罪の標的を絞っていると報告されています。 それでは、どうすればこの賢い犯罪の波の犠牲者になることを避けることができますか?リスクを特定し、個人および組織レベルで保護対策を講じる方法を探りましょう。 サイバー犯罪者が人工知能をどのように使用するか 技術が進むにつれて、犯罪者は、個人、企業、政府を攻撃する新しい方法を常に探しています。人工知能の広範な使用は最新の側面かもしれませんが、その潜在的な害は前例のないものです。 特に、人工知能

共生ダンス:人工的および自然な知覚のナビゲートループ共生ダンス:人工的および自然な知覚のナビゲートループMay 09, 2025 am 11:13 AM

人工知能(AI)と人間の知能(NI)の複雑な関係は、フィードバックループとして最もよく理解されています。 人間はAIを作成し、人間の活動によって生成されたデータでそれをトレーニングして、人間の能力を強化または複製します。 このai

AIの最大の秘密 - クリエイターはそれを理解していません、専門家は分裂しますAIの最大の秘密 - クリエイターはそれを理解していません、専門家は分裂しますMay 09, 2025 am 11:09 AM

人類の最近の声明は、最先端のAIモデルを取り巻く理解の欠如を強調しており、専門家の間で激しい議論を引き起こしました。 この不透明度は本物の技術的危機ですか、それとも単により多くのソフへの道の一時的なハードルですか

Sarvam AIによるBulbul-V2:インドの最高のTTSモデルSarvam AIによるBulbul-V2:インドの最高のTTSモデルMay 09, 2025 am 10:52 AM

インドは、言語の豊かなタペストリーを備えた多様な国であり、地域間のシームレスなコミュニケーションを持続的な課題にしています。ただし、SarvamのBulbul-V2は、高度なテキストからスピーチ(TTS)Tでこのギャップを埋めるのに役立ちます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター