전체 글 55

[Multi-Agent Search_4] Expectimax (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Expectimax Minimax와 Alpha-Beta Pruning은 훌륭한 알고리즘이지만, 두 알고리즘은 모두 최적의 결정을 하고 있는 적과 게임을 하고 있다고 가정하고 있습니다. 하지만 모든 적들이 항상 최적의 결정을 하는 것은 아닙니다. 이번 과제에서는 Pacman이 최선이 아닌 차선의 방법을 선택할 수 있는 확률론적 행동을 할 수 있게 도와주는 ExpectimaxAgent를 구현해볼 것입니다. 지금까지 여러 과제를 통하여 구현해왔던 다른 탐색 알고리즘과 같이 이번 알고리즘의 장점 또한 일반적으로 다양한 곳에 적용 가능하다는 점입니다...

[Multi-Agent Search_3] Alpha-Beta Pruning (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Alpha-Beta Pruning AlphaBetaAgent에서 minimax 트리를 조금 더 효율적으로 탐사하기 위해서 alpha-beta pruning를 구현하십시오. 이전과 마찬가지로 알고리즘은 아래의 수도 코드보다 조금 더 일반화가 되어야 할 것이며, 여러 minimize agent들에게 alpha-beta pruning을 적절하게 확장시켜야 할 것입니다. 코드를 잘 구현하였다면 깊이가 3인 alpha-beta pruning 알고리즘이 깊이가 2인 minimax보다 빠른것을 확인할 수 있을 것입니다. 이론적으로는 깊이가 3인 small..

[Multi-Agent Search_2] Minimax (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Minimax 이제 multiAgents.py 파일 안에서 제공되는 MinimaxAgent 클래스에 적대적 탐색 방법을 작성할 차례입니다. Minimax가 적용된 Pacman은 유령의 수가 몇 개이더라도 적상적으로 작동되어야 하므로, 알고리즘들을 보다 일반화가 되게끔 구현해야 합니다. 특히, Minimax 트리에서 각각의 max layer마다 여러 개의 min layer를 갖게 되는데, 유령의 수가 드러나면 min layer 수도 늘어납니다. 구현이 완료된 코드는 게임에서 트리의 깊이를 임의로 확장시킬 수 있어야 합니다. scoreEvalua..

[평가지표] Symmetric Mean Absolute Percentage Error (SMAPE)

Symmetric Mean Absolute Percentage Error (SMAPE) 설명 Symmetric Mean Absolute Percentage Error (SMAPE)는 회귀 모델 (Regression Model)이 잘 학습되었는지를 확인할 때 사용하는 평가지표입니다. SMAPE는 Mean Absolute Percentage Error (MAPE)가 가진 한계점을 보완하기 위하여 고안된 평가지표이며, MAPE는 오차를 실제값으로 나누는 반면 SMAPE는 실제 값과 예측값의 평균으로 나누어 구합니다. SMAPE도 확률 값을 도출하지만 MAPE와는 다르게 최대 200%까지 값이 도출될 수 있습니다. 따라서, 일반적인 SMAPE 수식에 2를 나누어준 후 사용하기도 합니다. SMAPE는 MAPE와 ..

정리/평가지표 2022.06.08

[데이터 분석_1] Pandas 라이브러리를 사용한 데이터 분석

Pandas 라이브러리를 사용한 데이터 분석¶ 먼저 Pandas 라이브러리를 import해줍니다. In [2]: import pandas as pd Pandas 라이브러리에 내장되어있는 read_csv() 함수를 사용하여 훈련용 데이터를 읽어줍니다. In [3]: train_data = pd.read_csv("./data/train.csv", engine="python") 데이터를 정상적으로 읽었는지를 확인해주기 위해서 데이터의 일부를 출력해보겠습니다. 데이터의 일부를 선택하는 방법은 크게 3가지가 있습니다. head() 함수를 사용하여 불러온 데이터의 앞부분을 선택해주는 방법 tail() 함수를 사용하여 불러온 데이터의 뒷부분을 선택해주는 방법 sample() 함수를 사용하여 불러온 데이터에서 랜덤하게..

[Multi-Agent Search_1] Reflex Agent (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Reflex Agent 게임을 훌륭하게 통과하기 위해서는 multiagents.py 파일 안에 있는 ReflexAgent를 향상시켜야 할 것입니다. 기본적으로 제공되는 ReflexAgent 코드 안에는 문제 해결에 도움 되는 몇 개의 함수를 제공하고 있으며, 이 함수들은 현재 게임 상태에 대한 정보를 사용하여 동작됩니다. ReflexAgent가 잘 작동되기 위해서는 음식의 위치와 유령의 위치를 모두 고려해야 합니다. 이것이 가능하다면, Pacman은 쉽고 확실하게 testClassic 게임을 완수할 수 있을 것입니다. - python pacm..

[평가지표] Mean Percentage Error (MPE)

Mean Percentage Error (MPE) 설명 Mean Percentage Error (MPE)는 회귀 모델 (Regression Model)이 잘 학습되었는지를 확인할 때 사용하는 평가지표입니다. MPE는 Mean Absolute Percentage Error (MAPE)에서 절대값을 제외한 지표이며, MAPE와 다르게 오차에 절대값을 씌어주지 않을 상태로 계산되기 때문에 음수값도 나올 수 있다는 점이 가장 큰 차이점이라고 할 수 있습니다. MAPE는 값이 0에 가까워질수록 모델이 잘 학습되었다는 것을 의미하지만 MPE는 0에 가까워졌다고 하더라도 모델이 잘 학습되었다고 말할 수 없습니다. ※ MAPE에 대한 설명은 아래 링크에서 확인할 수 있습니다. 2022.05.12 - [정리/평가지표] ..

정리/평가지표 2022.06.04
반응형