2018년 12월 17일 월요일

Sampling과 Monte Carlo Methods (몬테 카를로 방법)


Reference

  • 강의자료, 인터넷 여기저기

Sampling

  • 복잡한 확률 모델의 경우, 정확한 확률값을 계산하기 어려울 수 있으므로, 대략적인 값을 구하기 위해 샘플을 추출하는 방법.
    • 데이터의 차원이 아주 클 경우, 샘플링 자체가 쉽지 않은 문제가 될 수 있음. 예를 들어, 특정 문서에 등장하는 단어들이 수십만개 일 때, 어떻게 샘플링하는 게 바람직한 지 고민될 수 있음.

Importance sampling (중요도 샘플링)

  • Expected value를 계산하고자 하는 확률 분포 p(x)의 확률 밀도 함수는 알고 있지만, p에서 샘플 추출이 어려울 때, 상대적으로 샘플을 생성하기 쉬운 q(x)에서 샘플을 추출하여 p의 기대값을 계산하는 방식.
    • 샘플들이 가지는 importance를 이용하여, 기대값의 근사치를 계산.
  • p = normal distribution
  • q = importance distribution
  • p/q = likelihood ratio
  • sampling-importance-resampling (SIR) = 확률 분포 q를 이용하여, p의 샘플을 생성하는 방법.

Monte Carlo Method

  • 무작위로 추출된 난수(random number)를 이용하여, 원하는 함수의 대략적인 값을 산출하기 위한 시뮬레이션 방법.
  • 대표적인 예시: 가로와 세로가 각각 2인 정사각형에 내접하는(즉, 반지름이 1이 되는) 원의 면적을 구할 때, 정사각형 내부를 채울 수 있는 1만개의 난수 순서쌍 (x, y)을 무작위로 추출한 뒤, 원의 범위에 포함된 비율을 계산하는 방식을 생각해 볼 수 있음.
  • 난수의 개수를 늘릴수록 정확도는 높아지겠지만, 그만큼의 연산 시간이 소요됨.
  • Manhattan Project에 참여했던 Los Alamos 국립 연구소의 핵무기 개발 관련 연구에서 유래함. 
  • Central limit theorem에 의해, MC에 의한 sampling의 분포는 normal distribution에 수렴함.
  • Monte Carlo sampling: 모든 샘플이 독립(independent)이면서, 추출되는 확률 또한 random임.

Markov Chain Monte Carlo Method (MCMC)

  • 특정한 확률분포에 수렴하는 (다시 말하면, 특정 확률 모델로부터) 난수들을 추출하는 몬테 카를로 방법.
  • = Metropolis-Hasting algorithm
  • Markov Chain = 시간이 흘러감에 따라, 현재 상태(random state x)에서 다음의 상태로 변화하는 과정을 전이 확률(transition probability)로 표현한 것.
    • 러시아 과학자인 Andrey Markov에 의해, 1910년대에 개념이 등장함.
      • 러시아어 문헌에 나오는 글자들의 순서에 관한 모델 구축을 위해 제안.
    • Chain = 상태 값의 sequence. 즉, 다음의 상태는 바로 직전의 상태에 영향을 받음.
    • 해당 체인이 무한하게 반복된다면, 특정한 확률 분포의 형태에 수렴하는 성질.
  • 확률과 관련된 많은 시뮬레이션이 MCMC에 의해 수행되고 있음.
  • 예를 들어, 내일의 날씨는 반드시 오늘의 날씨에 의해서만 결정되어야 한다는 가정에 기반하여 확률로 표현할 수 있는 데, 앞으로의 날씨를 무한히 확률 계산을 하면, 오늘의 날씨와 상관없이, 일반적으로 날이 맑거나 흐리거나 비가 오는 확률이 특정하게 수렴하여 평형 상태의 정적인 분포(stationary distribution)에 도달하게 됨.
    • 특히 해당 평형상태는 초기값에 연연하지 않음.
  • MCMC에 의한 sampling: 다음번 추출되는 샘플은 현재 샘플에 영향을 받음.

Gibbs sampling

  • 두 개 이상의 확률변수의 결합 확률 분포로부터 일련의 표본을 생성하는 확률적 알고리즘.
  • (MCMC에서처럼) 다음번 추출되는 샘플은 현재 샘플에 영향을 받지만, 여러개의 확률 변수 중에서 한번에 하나의 확률 변수에만 변화를 준다는 점에서 차이가 있음.
  • basic 기법
    • 한번에 하나의 확률 변수만 변화
  • block 기법
    • 하나 이상의 변수들을 그룹으로 묶는 방법
  • collapse 기법
    • 불필요한 일부 변수를 샘플링에서 생략하는 방법.

2018년 10월 8일 월요일

2018년 6월 23일 토요일

2018년 3월 18일 일요일

구라 제거기 (키보드 보안 프로그램 삭제)


  • 구라 제거기
    • = 키보드 보안 프로그램 삭제.
    • TEUS.me 블로그를 통해 배포됨.
    • 자발적인 후원(donate)만 받고, 무료 사용 가능.
    • 인터넷 뱅킹이나 쇼핑 사이트에서 설치되는 보안 프로그램 일괄 삭제 가능. 

2018년 2월 24일 토요일

지대넓얕

지적 대화를 위한 넓고 얕은 지식


도서 - 현실세계

  • 역사
    • 원시, 고대, 중세, 근대, 현대
      • '생산수단'(원시~근대), '공급과잉'(근대~현대; 자본주의)
    • 직선적 시간관(서양; 진보적 역사관) vs 원형적 시간관(동양; 순환적 역사관)
    • 부(재산, 물질) = 생산수단 + 생산물
      • --> 권력 (비물질)
      • 원시 공산사회: 자연
      • 고대 노예제(제정일치): 신화
      • 중세 봉건제(4세기~14세기): 신
        • 18세기 증기기관, 1789 프랑스 대혁명
      • 근대 자본주의(18세기~1945): 이성
        • 산업화 -> 자본주의(공급>수요) -> 시장개척; 가격인하 -> 제국주의
        • 1929 대공황: 미국(수정자본주의), 러시아(공산주의), 독일(군국화)
  • 경제
    • 초기 자본주의, 후기 자본주의, 신자유주의, 공산주의(, 사회주의)
      • '시장과 정부'의 관계
      • 신자유주의(성장중심) vs 후기자본주의(분배중심)
  • 정치 
    • 보수 vs 진보
      • 이론(경제 개념), 현실(한국 사회)
    • 민주주의 vs 독재(, 엘리트)주의
      • 정치 결정 방식
  • 사회
    • 개인주의(~이기주의)
      • 개인의 총합 = 사회 
    • 집단주의(~전체주의)
      • 개인의 총합 < 사회
  • 윤리
    • 의무론
      • 칸트의 정언명법
        • 네가 개인적으로 하려는 일이 동시에 모든 사람이 해도 괜찮은 일인지 생각하고 행동하라.
    • 목적론
      • 최대 다수의 최대 행복
      • 양적 공리주의(벤담)
      • 질적 공리주의(밀)
        • 쾌락과 행복의 질적인 차이

관련 자료

  • 팟빵 사이트
    • 추천 목록
      • 31
      • 78
      • 137
      • 세균, 암, 술
      • 꿀벌의 민주주의
      • 칼포퍼
      • 김도인의 선물(2014, 2015, 2016)
      • 127
      • 46

2018년 1월 2일 화요일

전자상거래/쇼핑몰 웹사이트 오픈소스


  • 참조
    • http://www.ciokorea.com/news/36738
  • OpenCart
    • PHP 기반
  • Magento
  • PrestaShop
  • Woocommerce
    • WordPress 웹 사이트용 전자상거래 플러그인
  • Spree Commerce
    • Ruby 기반
  • X Cart
    • 웹 호스팅 필요
  • Reaction Commerce
    • iOS, Android 앱 지원.

2017년 12월 14일 목요일

맥 프로, Mac


  • 맥 사용
    • 한/영 전환 = command + space
  • 부트캠프
    • 설치
      • USB (8G 이상); 윈도우 ISO (64비트) 파일
      • 참고 사이트
        • Windows 파일 복사중 단계(30분~1시간 소요)
    • 부팅
      • 전원 구동시 옵션키(opt/option 버튼) 누르고 있기.
    • 사용
      • 한/영 전환 = 오른쪽 옵션키