일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 오일러 프로젝트
- 자전거 여행
- project euler
- deep learning
- 합성곱 신경망
- Python
- 신경망
- mnist
- 수달
- 소수
- Autoencoder
- Convolutional Neural Network
- 역전파법
- 베이지안
- neural network
- 전처리
- CNN
- 역전파
- backpropagation
- bayesian
- 히토요시
- SQL
- 비샤몬당
- Gram matrix
- c#
- 오토인코더
- 소인수분해
- 냥코 센세
- 딥러닝
- A Neural Algorithm of Artistic Style
- Today
- Total
통계, IT, AI
1. 개요 최근에 두가지 베이즈 문제에 대해서 생각할 기회가 있었다. 하나는 몬티홀 문제를 베이즈 룰을 사용하여 증명하는 것이었고 또 하나는 간단한 베이즈 문제였다.2. 몬티홀 문제 몬티홀 문제는 아주 널리 알려진 확률론 문제로 확률과 직관이 항상 일치하지는 않는다는 예시이다. 진행을 위해 문제를 간단히 소개한다. 3개의 커튼 뒤에 염소 두마리와 스포츠카 한대가 있다. 도전자는 스포츠카가 어디에 있는지 모른다. 도전자가 3개의 커튼 중 하나를 선택하면, 스포츠카의 위치를 알고 있는 사회자가 염소가 있는 커튼을 열고 도전자에게 커튼을 바꿀 기회를 준다. 그렇다면 도전자는 선택을 바꾸는 것이 유리할까? 답은 "그렇다"라는 것이 잘 알려져 있다. 왜 그럴까? 나는 그 답을 베이즈 정리를 사용하여 유도해보고 싶..
1. 개요 CNN으로 Mnist 데이터를 학습해보자. 먼저 대략적인 구조는 그림 과 같다. 입력 데이터의 사이즈는
1. 개요 CNN(Convoluional Neural Network; 합성곱 신경망)은 특히 이미지 인식 분야에서 자주 사용되는 신경망이다. 지금까지 본 신경망(이하 완전연결 신경망)과 다른 점은 그림 과 같이 합성곱층(Convolution Layer)와 풀링층(Pooling Layer)이 추가되었다는 점이다. 2. 합성곱 계층 Convolution Layer2.1. 개요 완전연결 신경망이 가진 가장 큰 문제점은 데이터의 형상이 무시된다는 것이다. 예를 들어 MNIST와 같은 이미지 데이터에서는 픽셀들이 서로 밀접한 관련을 갖고 있다. 가령 1이라는 이미지는 아래 또는 위 방향으로 비슷한 픽셀 값을 가질 확률이 높다. 게다가 컬러 이미지는 채널까지 포함하여 3차원 데이터이지만 완전연결 신경망에서는 이러한..
1. mutable vs immutable 파이썬의 오브젝트를 나누는 기준의 하나는 mutable 여부이다. mutable하지 않은 오브젝트는 immutable하다고 한다. mutable 오브젝트는 내용을 수정할 수 있고 immutable한 오브젝트는 그럴 수 없다. mutable한 오브젝트의 대표적인 예는 리스트list 등이 있고 immutable한 오브젝트는 튜플tuple, 문자열string 등이 있다. 리스트와 같은 mutable 오브젝트는 다음과 같이 내용을 수정할 수 있다. lst_1 = [1, 2, 3, 4] lst_1[0] = 100 print(lst_1) # [100, 2, 3, 4] 그런데 아래의 코드는 어떻게 작동 하는 것일까? immutable한 오브젝트는 '내용을 수정 할 수 없다'..
1. 개요 CNN(Convolutional Neural Network)를 아무런 기초없이 구현하려고 하다보니 여러가지 어려움이 있었다. 그러던 중 이라는 책에서 좋은 레퍼런스를 발견하여 그것을 공부하고 있다. 그런데 Backpropagation을 그래프로 해석하는 과정에서 스칼라(scalar)를 매트릭스(matrix)로 미분하는 부분[각주:1]이 쉽게 이해가 가지 않아 따로 정리한다. 어떤 매트릭스
1. 개요 TensorFlow를 이용한 모델링은 오랜 시간이 걸릴 수 있다. 경우에 따라서는 한번의 Session으로 학습을 마치기 어려운 경우도 있다. 본 포스팅에서는 학습의 결과인 TensorFlow의 Variable을 저장하고 복원하는 방법을 살펴본다. 아래의 내용은 Udacity에서 발췌하였으며 사용된 코드는 이곳에서 확인할 수 있다. python은 3.5.3, TensorFlow는 1.3.0 사용한다. 2. Saving and Loading Variables 아래는 weights와 bias라는 Variable을 만들고 저장하는 예시이다. # -*- coding: utf-8 -*- import tensorflow as tf # Set random seed to make equal result tf..
1. 개요 나이브 베이즈는 베이즈 정리를 사용하는 확률 분류기의 일종으로 특성들 사이에 독립을 가정한다. 이론이 어렵지 않고 구현이 간단하며 "나이브"한 가정에도 불구하고 여러 복잡한 상황에서 잘 작동하기 때문에 다양한 분야에서 사용되고 있다. 독립변수에 따라 여러가지 모습을 가지지만 이번 포스팅에서는 어떤 메시지가 스팸(spam)인지 또는 정상(ham)인지 분류하는 문제만 고려한다. 2장에서는 나이브 베이즈 분류를 이해하기 위한 배경 지식을 간단하게 훑어보고 3장에서 나이브 베이즈가 어떤 식으로 작동하는지 살펴본다. 4장에서는 나이브 베이즈를 실제 데이터에 적용하여 텍스트 메시지를 분류해본다. 2. 배경 지식 2.1. 베이지안 통계 베이지안 통계에서는 모수
1. 개요 문제는 이곳에서 확인할 수 있다. 어떤 문서를 암호화하기 위하여 XOR 연산을 사용할 수 있다. 예를 들어 A는 아스키코드로 65인데 42와 XOR 연산을 하여 107로 암호화할 수 있다. 여기서 42는 키의 역할을 하며 107과 42를 XOR 연산을 하면 65로 복호화가 된다. 복호화가 불가능하게 하기 위해서는 암호화하는 문장과 같은 길이의 무작위 키로 암호화하면 된다. 하지만 이 방법은 실용적이지 못하기 때문에 기억하기 적당한 길이의 키를 전체 메시지에 대하여 돌아가며 적용한다. 문제에서 주어진 암호문의 키는 영어 소문자 3개라는 것이 알려져 있다. 그 키로 암호문을 해독하고 아스키코드 값의 합을 구하는 것이 문제의 목표이다. 단, 본래의 메시지는 일반적인 영어 문장이다. 2. 구현 26개..
1. 개요 문제는 이곳에서 확인할 수 있다. 아래와 같이 1부터 자연수를 반시계 방향으로 늘어놓자. 37 36 35 34 33 32 31 38 17 16 15 14 13 30 39 18 5 4 3 12 29 40 19 6 1 2 11 28 41 20 7 8 9 10 27 42 21 22 23 24 25 26 43 44 45 46 47 48 49 흥미롭게도 대각 방향에 있는 수 13개는 1을 제외하고 모두 홀수이다. 또한 그 수들 가운데 8개는 소수이다. 위의 예시에서 그 비율은