개발/Pycon 2018
-
인공지능 슈퍼마리오의 거의 모든 것(Reinforcement Learning)개발/Pycon 2018 2018. 11. 18. 21:20
동물의 학습 방법 어떤 행동의 결과가 만족스러우면 다음에도 그 행동을 반복하고, 만족하지 않으면 그 행동을 하지 않는다 Reinforcement(행동을 반복하게 하는 자극), punishment(반복하지 않게 하는 자극) 사람의 학습 방법 사람은 interaction을 하면서 배운다(환경과의 상호작용) Reward를 최대화하는 action을 선택 Exploitation(현재 상황에서 가장 좋아보이는 방법을 선택) vs Exploration(현재 상황에서 베스트는 아니지만, 미래를 생각했을 때 좋아보이는 방법을 선택) 기계학습 동물과 사람의 학습 방법을 본따 Markov decision process를 통해 학습 State-value, state-action value(value based reinforc..
-
우아하게 준비하는 테스트와 리팩토링개발/Pycon 2018 2018. 11. 18. 21:11
발표 슬라이드 바로가기 1. 클린 코드: 배려를 가지고 코드를 짜야 함, 코드스멜을 방지! 왜? 깔끔한 협업과 코드 가독성을 위해 가드클러즈(GaurdClause): 중첩된 if문을 제거 Boolean 조건 체크 할 경우 not 이용(Syntax sugar) 예외처리를 진행하거나 유효성 오류의 경우 none 반환(조건문 사용하기에 편리함) → None으로 조건문을 간단하게 표현 가능 3항연산자 간단한 if, switch는 dict acessing으로 변경 function name: snake_case, action부터 설정(e.g. get_user_name()) 주석이 필요한 복잡한 로직은 함수로 분리하고 함수명을 주석 대신 사용 주석이 없는 코드가 가장 좋은 코드 인수가 4개를 넘지 않도록 캡슐화 클래..