머신러닝을 활용한 웹 최적화 - A/B 테스트, 메타휴리스틱, 슬롯머신 알고리즘에서 베이즈 최적화까지
이쓰카 슈헤이 지음, 김연수 옮김 / 한빛미디어 / 2021년 6월
평점 :
장바구니담기



미국대통령 선거에서 오바마가 공식 웹사이트에서 여러이미지와 버튼의 조합중

조합의 등록률을 살표본결과 가족과 함꼐 찍은 이미지와 learn more 이라고 적힌 버튼의 조합이 가장 많은 등록률이 높았다고 한다.

이처럼 작은 변화가 웹사이트에 큰 영향을 끼치는 영향에 대해 이책은 방향을 제시하는 책이라 볼수있다.

1장에서는 머신러닝에 대해나 이론적인 내용을 주로 다루고 있다.


# 0이상 1이하의 범위를 1001개로 분할한 배열 thetas를 준비한다. import numpy as np thetas = np.linspace(0, 1, 1001) print(thetas) #가능도 함수 likelihood를 작성한다. likelihood = lambda r: thetas if r else (1 - thetas) #사후부포는 가능도 함수와 사전함수의 곱이 합계가 1이 되도록 정규화 한다. def posterior(r, prior): lp = likelihood(r) * prior return lp / lp.sum() #각 theta 가 같은 확률을 갖도록 확률을 나눕니다. p = np.array([1 / len(thetas) for _ in thetas]) print(p) #베이즈 추론을 한다. 클릭이 한번 일어났을때 r =1이 주어졌을때의 사후분포를 계산한다. p = posterior(1, p) # 클릭 print(p) #맵플롯립은 그래프를 그리기 위한 모듈이다. from matplotlib import pyplot as plt #가로축에는 thetas 세로축에는 p를 전달한다. plt.plot(thetas, p) plt.xlabel(r'$\theta$') plt.ylabel(r'$p(\theta)$') plt.show()




clicks = 2 noclicks = 38 p = np.array([1 / len(thetas) for theta in thetas]) for _ in range(clicks): p = posterior(1, p) for _ in range(noclicks): p = posterior(0, p) plt.plot(thetas, p) plt.xlabel(r'$\theta$') plt.ylabel(r'$p(\theta)$') plt.show()


시각화 과 0.05 부근으로 폭이 넓어지는 곡선이 생겼다.


조금씩 따라해보면서 이해해고 있는데 생각보다 내용이 쉽지는 않았다.

하지만 생소한 또하나의 분석기법이 될것같아 해당분야에 관심이 있는 사람이라면

머신러닝을 활용한 또하나의 분야를 파악해보는 계기가 될 것 같다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo