찾다
기술 주변기기일체 포함강화 학습 전략을 통한 특징 선택

강화 학습 전략을 통한 특징 선택

Jun 05, 2024 pm 01:00 PM
기계 학습강화 학습

기능 선택은 기계 학습 모델을 구축하는 과정의 핵심 단계입니다. 모델과 달성하려는 작업에 적합한 기능을 선택하면 성능이 향상될 수 있습니다.

강화 학습 전략을 통한 특징 선택

고차원 데이터 세트를 다루는 경우 특성을 선택하는 것이 특히 중요합니다. 이를 통해 모델은 더 빠르고 효과적으로 학습할 수 있습니다. 아이디어는 최적의 기능 수와 가장 의미 있는 기능을 찾는 것입니다.

이 글에서는 강화학습 전략을 통해 새로운 특징 선택을 소개하고 구현해보겠습니다. 강화 학습, 특히 Markov 결정 프로세스에 대해 논의하는 것부터 시작합니다. 이는 데이터 과학 분야의 매우 새로운 방법으로, 특히 기능 선택에 적합합니다. 그런 다음 구현 방법과 Python 라이브러리(FSRLearning) 설치 및 사용 방법을 소개합니다. 마지막으로 이 프로세스를 보여주기 위해 간단한 예가 사용됩니다.

강화 학습: 특징 선택을 위한 마르코프 결정 문제

강화 학습(RL) 기술은 게임 해결과 같은 문제를 해결하는 데 매우 효과적일 수 있습니다. 강화학습의 개념은 MDP(Markov Decision Process)를 기반으로 합니다. 여기서 요점은 심층적인 정의에 들어가는 것이 아니라 그것이 어떻게 작동하고 우리 문제에 어떻게 유용할 수 있는지에 대한 일반적인 이해를 얻는 것입니다. 강화 학습에서 에이전트는 환경과 상호 작용하여 학습합니다. 현재 상태와 보상 신호를 관찰하여 결정을 내리고, 선택한 작업에 따라 긍정적이거나 부정적인 피드백을 받습니다. 에이전트의 목표는 다양한 행동을 시도하여 누적 보상을 최대화하는 것입니다. 강화학습의 중요한 개념

강화학습의 기본 개념은 에이전트가 알려지지 않은 환경에서 시작한다는 것입니다. 임무를 완료하기 위해 행동을 수집하세요. 에이전트는 현재 상태와 이전에 선택한 작업의 영향을 받아 일부 작업을 선택하는 경향이 더 큽니다. 새로운 상태에 도달하고 조치를 취할 때마다 에이전트는 보상을 받습니다. 기능 선택을 위해 정의해야 하는 주요 매개변수는 다음과 같습니다.

상태, 작업, 보상, 작업 선택 방법

먼저, 데이터 세트에 있는 기능의 하위 집합입니다. 예를 들어 데이터세트에 세 가지 특성(나이, 성별, 키)과 라벨이 있는 경우 가능한 상태는 다음과 같습니다.

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

상태에서 특성의 순서는 중요하지 않습니다. 기능 목록이 아닌 컬렉션을 만드세요.

작업과 관련하여 하나의 하위 집합에서 탐색되지 않은 기능의 하위 집합으로 이동할 수 있습니다. 특징 선택 문제에서 작업은 현재 상태에서 아직 탐색되지 않은 특징을 선택하여 다음 상태에 추가하는 것입니다. 가능한 작업은 다음과 같습니다.

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

불가능한 작업의 예는 다음과 같습니다.

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

아직 보상이 아닌 상태와 작업을 정의했습니다. 보상은 상태의 품질을 평가하는 데 사용되는 실수입니다.

특성 선택 문제에서 가능한 보상 중 하나는 새 특성을 추가하여 동일한 모델의 정확도 측정항목을 개선하는 것입니다. 보상이 계산되는 방법의 예는 다음과 같습니다.

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

우리가 처음 방문하는 각 주에 대해 분류자(모델)는 일련의 기능을 사용하여 훈련됩니다. 이 값은 상태와 해당 분류기에 저장됩니다. 분류기를 훈련하는 과정은 시간이 많이 걸리고 힘들기 때문에 한 번만 훈련합니다. 분류기는 특징의 순서를 고려하지 않기 때문에 이 문제를 트리가 아닌 그래프로 처리할 수 있습니다. 이 예에서 모델의 새로운 특성으로 "성별"을 선택하는 것에 대한 보상은 현재 상태와 다음 상태 간의 정확도 차이입니다.

강화 학습 전략을 통한 특징 선택

위 그림에서 각 특징은 숫자로 매핑됩니다("나이"는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 의이 중요한 측면을 살펴 보겠습니다

번성하고 준비된 기업 문화를 구축하기위한 7 단계번성하고 준비된 기업 문화를 구축하기위한 7 단계May 09, 2025 am 11:23 AM

성공적인 인공 지능 전략은 강력한 기업 문화 지원과 분리 될 수 없습니다. Peter Drucker가 말했듯이 비즈니스 운영은 사람들에게 달려 있으며 인공 지능의 성공도 마찬가지입니다. 인공 지능을 적극적으로 수용하는 조직의 경우 AI에 적응하는 기업 문화를 구축하는 것이 중요하며 AI 전략의 성공 또는 실패조차 결정합니다. West Monroe는 최근에 번성하는 AI 친화적 인 기업 문화를 구축하기위한 실용적인 가이드를 발표했으며 다음은 다음과 같습니다. 1. AI의 성공 모델을 명확하게 설명하십시오. 우선, AI가 비즈니스를 강화할 수있는 방법에 대한 명확한 비전이 있어야합니다. 이상적인 AI 운영 문화는 인간과 AI 시스템 간의 작업 프로세스를 자연스럽게 통합 할 수 있습니다. AI는 특정 작업에 능숙하지만 인간은 창의성과 판단에 능숙합니다.

Netflix New Scroll, Meta AI AI의 게임 체인저, Neuralink는 85 억 달러에 달했습니다.Netflix New Scroll, Meta AI AI의 게임 체인저, Neuralink는 85 억 달러에 달했습니다.May 09, 2025 am 11:22 AM

메타 업그레이드 AI 보조 응용 프로그램 및 웨어러블 AI의 시대가오고 있습니다! ChatGpt와 경쟁하도록 설계된이 앱은 텍스트, 음성 상호 작용, 이미지 생성 및 웹 검색과 같은 표준 AI 기능을 제공하지만 이제 지리적 위치 기능을 처음으로 추가했습니다. 이것은 메타 AI가 자신의 위치와 질문에 대답 할 때보고있는 내용을 알고 있음을 의미합니다. 귀하의 관심사, 위치, 프로필 및 활동 정보를 사용하여 이전에는 불가능한 최신 상황 정보를 제공합니다. 이 앱은 또한 실시간 번역을 지원하여 Ray-Ban 안경의 AI 경험을 완전히 바꾸고 유용성을 크게 향상 시켰습니다. 외국 영화에 대한 관세 부과는 미디어와 문화에 대한 권력의 알몸 운동입니다. 구현되면 AI 및 가상 프로덕션으로 가속됩니다.

오늘이 단계를 수행하여 AI 사이버 범죄로부터 자신을 보호하십시오.오늘이 단계를 수행하여 AI 사이버 범죄로부터 자신을 보호하십시오.May 09, 2025 am 11:19 AM

인공 지능은 사이버 범죄 분야를 혁신하여 새로운 방어 기술을 배우도록 강요하고 있습니다. 사이버 범죄자들은 ​​깊은 위조 및 지능형 사이버 공격과 같은 강력한 인공 지능 기술을 사용하여 전례없는 규모로 사기 및 파괴를 사용하고 있습니다. 글로벌 비즈니스의 87%가 지난해 AI 사이버 범죄를 목표로 한 것으로보고되었습니다. 그렇다면이 현명한 범죄의 물결의 희생자가되는 것을 어떻게 피할 수 있습니까? 개인 및 조직 차원에서 위험을 식별하고 보호 조치를 취하는 방법을 살펴 보겠습니다. 사이버 범죄자가 인공 지능을 사용하는 방법 기술이 발전함에 따라 범죄자들은 ​​개인, 기업 및 정부를 공격 할 수있는 새로운 방법을 지속적으로 찾고 있습니다. 인공 지능의 광범위한 사용은 최신 측면 일 수 있지만 잠재적 인 피해는 전례가 없습니다. 특히 인공 지능

공생 춤 : 인공 및 자연 인식의 고리 탐색공생 춤 : 인공 및 자연 인식의 고리 탐색May 09, 2025 am 11:13 AM

인공 지능 (AI)과 인간 지능 (NI) 사이의 복잡한 관계는 피드백 루프로 가장 잘 이해됩니다. 인간은 AI를 만들어 인간 활동에 의해 생성 된 데이터에 대해 인간 능력을 향상 시키거나 복제합니다. 이 ai

AI의 가장 큰 비밀 - 제작자는 이해하지 못하고 전문가가 분할AI의 가장 큰 비밀 - 제작자는 이해하지 못하고 전문가가 분할May 09, 2025 am 11:09 AM

최첨단 AI 모델을 둘러싼 이해의 부족을 강조한 Anthropic의 최근 진술은 전문가들 사이에서 격렬한 논쟁을 불러 일으켰습니다. 이 불투명도는 진정한 기술 위기입니까, 아니면 단순히 더 많은 소프로가는 길에 일시적인 장애물입니까?

Sarvam AI의 Bulbul-V2 : 인도 최고의 TTS 모델Sarvam AI의 Bulbul-V2 : 인도 최고의 TTS 모델May 09, 2025 am 10:52 AM

인도는 풍부한 언어 태피스트리를 가진 다양한 국가로 지역 간의 원활한 의사 소통을 지속적으로 도전합니다. 그러나 Sarvam의 Bulbul-V2

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 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기