전체 글
-
수학은 너무 쉬워 (boj 2904)알고리즘 2020. 6. 3. 16:32
수학은 너무 쉬워 문제는 소수를 구하고, 그 소수로 소인수분해를 하는 문제입니다. 최대 공약수라는게 모든 수가 갖고 있는 소수들의 곱으로 나타내지기 때문에 N개의 숫자를 각각 소인수분해하여 N개의 숫자를 통틀어서 어떤 소수를 몇개나 갖고있게 되는지 알게된다면 문제는 쉬워집니다. 예를 들어 8 24 9는 8 = 2^3 24 = 2^3 * 3 9 = 3^2 따라서 2가 6개, 3이 3개입니다. 숫자의 갯수가 3이므로 2를 2개씩 나눠가지고, 3을 한 개 씩 나눠가지면 최대공약수가 2^2 * 3 = 12가 됩니다. 그리고 움직이는 횟수는 9가 2를 두 개 받았고, 8이 3을 하나 받았으니 3개가 될거에요. #include #include #include #include #include int N; int ar..
-
딥러닝 MNIST 필기체 인식인공지능 2020. 6. 3. 15:37
Mnist 는 딥러닝 공부를 할 때 기초적이면서도 흥미로운 연습 문제에요 Training Data set(csv) 과 Test Data set(csv) 파일 링크입니다. Training Data set 에는 6만개의 이미지 데이터가 들어있습니다. 하나의 이미지는 28 * 28 사이즈로 784개의 숫자로 이루어져있습니다. csv 파일을 열어보시면 5, 0, 0, 0, 78, 80, 32, ... , 30 이런 숫자들의 모임이 있는데 처음 숫자 5는 정답 숫자에 대한 정보이고, 나머지 784개의 숫자는 이미지를 나타내는 정보로, 픽셀 하나의 밝기 값이라고 생각하시면 됩니다. 따라서 0에 가까운 숫자일수록 검정색에 가깝고, 255에 가까운 숫자일 수록 하얀색에 가깝습니다. 데이터 로딩 import numpy ..
-
딥러닝 기초 (XOR 문제 해결)인공지능 2020. 6. 1. 14:23
2020/05/29 - [AI] - AI Multi layer (XOR 문제) AI Multi layer (XOR 문제) 지금까지 공부했던 Logistic regression 으로는 XOR 문제를 풀 수 없는데 오늘은 그것에 대해 알아볼게요 기본 구현 Sigmoid(), numerical_derivation() 함수 준비 # 시그모이드 함수 # 입력 x에 대해서 결과가 1.. bubble-dev.tistory.com 이 전에 XOR 문제를 해결하기 위해 AND, OR, NAND 게이트를 결합시킨 방법인 Multi layer로 해결하는 방법에 대해 알아봤었습니다. 요즘 핫한 딥러닝이란게 이런 Multi layer 방법을 발전시킨 방법인데요. Multi layer 방식에서 얻을 수 있는 중요한 인사이트 중 ..
-
AI Multi layer (XOR 문제)인공지능 2020. 5. 29. 02:29
지금까지 공부했던 Logistic regression 으로는 XOR 문제를 풀 수 없는데 오늘은 그것에 대해 알아볼게요 기본 구현 Sigmoid(), numerical_derivation() 함수 준비 # 시그모이드 함수 # 입력 x에 대해서 결과가 1이 나올 확률을 의미 def sigmoid(x): return 1 / (1 + np.exp(-x)) def numerical_derivation(f, input_data): delta_x = 1e-4 it = np.nditer(input_data, flags=['multi_index']) ret = np.zeros_like(input_data) while not it.finished: idx = it.multi_index tmp = input_data[id..
-
AI Logistic regression 예제인공지능 2020. 5. 26. 19:16
개념 설명 글은 이 전 글을 참고해주세요! 2020/05/24 - [AI] - AI Logistic regression : 분류(Classification) AI Logistic regression : 분류(Classification) Logistic regression 은 데이터를 보고 동물인지 식물인지 판별하거나 스팸 메일인지 아닌지 판별하는 등의 분류 문제를 해결하는 방법 중 하나입니다. Classification 문제는 결과 값이 0 또는 1로 나오는 bubble-dev.tistory.com 아래와 같은 학습 시간이 있을 때 합격 여부를 예측해주는 함수입니다. 학습시간 복습시간 합격여부 2 4 0 4 11 0 6 6 0 8 5 0 10 7 1 12 16 1 14 8 1 16 3 0 18 7 0 i..
-
파일이란?파일처리 2020. 5. 24. 20:07
파일이란 하드디스크, SSD(Solid State Disk), CD와 같은 Secondary memory 에 저장된 같은 종류의 레코드의 집합 파일 구조(File structure란 데이터 접근하는 연산과 데이터의 표현의 조합 즉 어떻게 파일을 저장할 것이고, 어떻게 접근할 것인지에 대한 총체적인 구조를 파일 구조라 한다. 파일 구조 설계의 목표 최소한의 cost 로 파일을 읽고 쓰자. 주로 디스크 액세스 횟수를 줄여야 성능이 올라갑니다. 주된 파일 구조 설계 모델 Sequential access : 데이터 레코드를 일렬로 쭉 써 넣는 방법 Simple index : 인덱스 파일을 만들어서 검색 시간을 단축하는 방법 Binary tree : 데이터 레코드를 이진트리로 관리하는 방법 AVL tree Bal..
-
AI Logistic regression : 분류(Classification)인공지능 2020. 5. 24. 19:46
Logistic regression 은 데이터를 보고 동물인지 식물인지 판별하거나 스팸 메일인지 아닌지 판별하는 등의 분류 문제를 해결하는 방법 중 하나입니다. Classification 문제는 결과 값이 0 또는 1로 나오는 것이 그 특징입니다. 시그모이드(Sigmoid) 함수 x 축 input 이 어떤 값이 들어오더라도 0 또는 1 사이의 값으로 변환해주는 함수 입니다. Linear regression 으로 구해진 z = Wx + b, z 를 시그모이드 함수에 넣으면 0과 1사이의 값이 나올 것이고, 0.5 보다 크면 1, 작거나 같으면 0으로 분류할 수 있습니다. 시그모이드 함수는 0과 1 사이의 값만을 나타내기 때문에 결과가 나타날 확률이라는 의미를 지니기도 합니다. Cross entropy 기존..
-
AI Linear regression 예제인공지능 2020. 5. 24. 17:35
개념 내용은 이전 글 참조바랍니당 2020/05/24 - [AI] - AI Linear regression 파이썬 구현 AI Linear regression 파이썬 구현 지금까지 y = Wx + b 라고 표현했지만 행렬 dot product를 통해 계산을 해내려면 y = xW + b 라고 생각하는게 좋습니다. 그렇게 되면 입력 값(x)의 집합 X 와 X * W + b 로 나온 결과의 집합(Y) 를 구할 수 있고 bubble-dev.tistory.com 입력 데이터 import numpy as np try: load_data = np.loadtxt('./sps.csv', delimiter=',', dtype=np.float32) y_data = load_data[:, [0]] x_data = load_da..