Python 5

Q-러닝과 SARSA 애플리케이션

환경과 상호작용해 경험을 통해 학습하는 새로운 강화학습 알고리즘을 소개했다. 이방법은 환경 모델에 의존하지 않고 폴리시와 가치함수를 학습한다는 점에서 동적 프로그래밍과는 다르다. 몬테카를로 방법이 환경에서 간단하게 샘플링하는 방법이지만 학습하기 위해서는 완전한 궤도가 필요하므로 많은 실제 환경에 적용 할 수 없다는 것을 알게 됐다. 이러한 단점을 극복하기 위해 부트스트레핑을 몬테카를로 방법과 결합한 TD학습 방법을 사용했다. 이 알고리즘은 부트스트레핑 기술을 이용해 온라인으로 학습하고 분산을 줄이면서 최적의 폴리시에 수렴하게 하는 방법이다. 강화학습에 사용 되는 몬테카를로 메서드의 주요 특징은? 몬테카를로 메서드가 오프라인인 이유는? TD학습의 두 가지 주요 아이디어는? 부트스트레핑을 몬테카를로 방법과 ..

동적 프로그래밍으로 문제 해결하기

MDP란? - 가치함수와 기대보상으로 이루어짐. - Markov 특성은 MDP에 내재돼 있으며, 미래의 상태는 과거의 이력이 아닌 현재 상태로부터만 영향을 받는다. - MDP정의를 사용해 폴리시, 리턴함수, 예상리턴(Expected return), 행동-가치함수, 가치함수의 개념을 정의했다. 강화학습 알고리즘은 모델-기반과 모델-프리 방법으로 구분할 수 있다. 모델-기반은 다음 행동을 계획하기 위해 환경 모델이 필요하며 모델-프리는 모델과는 독립적이며 환경과 직접 상호 작용해 학습할 수 있다. 폴리시 그래디언트 알고리즘은 그래디언트 상승을 통해 폴리시에서 직접 학습 하므로 온-폴리시 on-policy라고 한다, 가치함수 알고리즘은 오프-폴리시 off-policy이며 폴리시를 만들기 위해 행동-가치함수나 ..

강화학습 사이클과 openAI Gym 구현하기

대부분의 최신 강화학습 알고리듬은 딥러닝과 관련 있으므로 책전반에 걸쳐 사용할 딥러닝 프레임 워크인 텐서플로우를 살펴봤다. 텐서플로우를 사용하면 역전파 backpropagation 같은 심층신경망의 복잡한 부분을 처리할 때 딥강화학습 알고리듬의 개발 속도를 높여 준다. 또한 tensorflow는 알고리듬 디버깅 과정을 모니터링하고 지원하는 tensorBoard를 제공한다. Gym에서 step()함수의 출력은 무엇인가? step() : 실행 // render() : 결과를 표시 OpenAI Gym 인터페이스를 이용한 액션을 어떻게 샘플링 할 수 있는가? 에이전트에서 환경 : 액션 환경에서 에이전트 : 관측, 보상, 종료여부, 정보 관측: 환경에 대한 새로운 관측을 나타내는 객체 보상 : 마지막 액션에서 얻..

강화학습

강화학습은 의사결정을 위한 목표 지향 접근법이다. 이방법은 환경과 직접 상호작용 하고 지연된 보상 메커니즘을 이용한다는 점에서 기존 패러다임과 차이가 있다 강화학습에서 딥러닝을 사용하면 고차원 상태 공간 문제와 인지 데이터 분석 문제를 해결하는데 도움이 된다. 강화학습에서 환경 모델은 필요 없지만 추가 정보를 제공해 폴리시의 품질을 개선하는데 도움이 된다. 강화학습이란 무엇인가? 의사 결정을 위한 목표 지향 접근법 에이전트의 최종 목표는 무엇인가? 살아 있는 동안 누적된 총 보상을 최대화 하는 것 지도학습과 강화학습의 주요 차이는 무엇인가? 지도학습과 강화학습은 데이터를 이용해 학습하는 유사하지만 다른 패러다임을 가짐. 지도학습 : 예제를 구성하는 제한된 데이터 양을 갖는 고정된 데이터셋으로 일반화 방법..

5분만에 네이버 뉴스 기사 크롤링하기

오픈소스 라이브러리 BeautifulSoup pip install bs4 from bs4 import BeautifulSoup # urllib을 사용한 Request 보내기 import urllib.request url = "https://news.naver.com/" req = urllib.request.urlopen(url) # url에 대한 연결요청 res = req.read() # 연결요청에 대한 응답 soup = BeautifulSoup(res,'html.parser') # BeautifulSoup 객체생성 # print('html 모두 읽어옴 ') # print(soup) test = soup.find_all('strong') print('strong안에 있는 내용 모두 출력') print(t..

Python 2020.07.22
반응형