• Label Spreading

    Label Spreading은 일부 데이터의 label이 존재하지 않는 데이터에서 semi-supervised learning 을 수행하는 모델 중 하나로 label이 주어진 일부 데이터셋의 정보만을 가지고 그래프 이론을 바탕으로 데이터에 label을 부여하는 작업을 수행한다. label이 존재하는 데이터로부터 label에 대한 정보가 label이 존재하지 않는 데이터로 퍼져가는 모델이라 볼 수 있다. Label Spreading 모델은 유유상종이라는 굉장히 직관적인...


  • Recurrent Neural Network

    [작성중…] 인공 신경망 모델 중에서 RNN(Recurrent Neural Network) 모델은 순서가 있는 데이터에 대한 예측을 목적으로 시계열 데이터, 자연어 처리 등을 위해 사용되고 있다. RNN 명칭에서 Recurrent(‘순환’)라는 표현에 주목할 필요가 있다. 어느 한 지점에서 시작한 것이 일정 시간의 흐름 뒤 다시 원래의 장소로 돌아오는 것을 Recurrent라고 표현할 수 있고 RNN은 이러한...


  • Multi-Armed Bandit Problem

    Multi-Armed Bandit(이하 MAB) 문제는 A/B 테스트의 확장 형태라고 볼 수 있고 소비자에게 여러개의 제품 중 어떤 것을 노출시킬 것인가? 등의 문제를 해결하기 위한 알고리즘으로 활용된다. MAB는 수익률이 각기 다른 여러개의 슬롯머신 중 수익을 최대화시키기 위해서 어떠한 슬롯머신의 손잡이를 당길 것인가? 라는 질문을 해결하기 위한 알고리즘으로 한정된 시간, 예산 조건 하에서...


  • Bayesian A/B Test

    A/B 테스트는 온라인 서비스 적용, 대고객 마케팅 캠페인 등에서 자주 사용되는 개념으로, 서로 다른 A/B방법 중 어느 방법이 더 효과적인 방법인지 알아보기 위해 활용된다. A/B Test를 바탕으로 우리는 각 방식에 따라 관심지표(CTR 또는 반응률)가 어떠한 영향을 받는지 인과성을 유추해볼 수 있다. 만약 동일한 마케팅 캠페인에서 A,B가 타겟 선정방식이 다르고 B의...


  • Web Crawling

    웹 크롤링은 웹 페이지의 정보를 가져오는 행위를 의미한다. Python에서는 selenium과 beautifulsoup 라이브러리를 이용하여 크롤링이 이루어진다. 이번 포스팅에서는 selenium의 webdriver를 사용하여 크롤링하는 것을 정리하고자 한다. webdriver를 통해서 인터넷을 통해 사이트 접속, 버튼 클릭, 글자 입력과 같은 사람이 수행할 일을 코드를 통해 제어할 수 있으며, 크롬 버전에 맞는 webdriver를 사용하여 작업을 수행해야...