분류 전체보기 45

PyTorch Lecture 12: RNN

방학동안 학회에서 김성훈 교수님의 PyTorch Zero To All 강의로 공부를 하게 된 김에 스스로 정리해보려고 합니다. 좋은 강의 공유해주신 김성훈 교수님께 감사드립니다. 강의링크: https://www.youtube.com/playlist?list=PLlMkM4tgfjnJ3I-dbhO9JTw7gNty6o_2m PyTorchZeroToAll (in English) Basic ML/DL lectures using PyTorch in English. www.youtube.com RNN은 텍스트, 음성 데이터와 같이 순서가 있는 Sequence Data를 다루기에 적합한 Neural Network입니다. Sequence Data란 말 그대로 순서가 있는 데이터를 의미하는데, 해당 데이터는 순서가 있기 ..

PyTorch Lecture 11: Advanced CNN

방학동안 학회에서 김성훈 교수님의 PyTorch Zero To All 강의로 공부를 하게 된 김에 스스로 정리해보려고 합니다. 좋은 강의 공유해주신 김성훈 교수님께 감사드립니다. 강의링크: https://www.youtube.com/playlist?list=PLlMkM4tgfjnJ3I-dbhO9JTw7gNty6o_2m PyTorchZeroToAll (in English) Basic ML/DL lectures using PyTorch in English. www.youtube.com Inception Modules CNN을 사용할 때, 주어진 이미지에 대해 다양한 size의 filter를 사용하여 특정 output을 산출할 수 있습니다. 사용가능한 다양한 size의 filter 중 어떤 것을 사용해야할지에..

[Practical Statistics for Data Scientists] Scaling and Categorical Variables

데이터가 올바르게 scale이 되어있지 않다면 PCA, K-means, 그리고 다른 여러 Clustering Methods와 같이 비지도학습을 진행하는 경우, 단순히 값이 큰 변수의 영향이 과하게 커지고, 값이 작은 변수는 무시되는 상황이 발생할 우려가 있기 때문에 비지도학습을 진행하는 경우 일반적으로 스케일링을 진행하게 됩니다. Scaling 변수별로 데이터의 스케일이 다르면, 앞서 언급했듯, 머신러닝이 원하는대로 잘 작동하지 않을 가능성이 있습니다. 따라서 저희는 데이터의 범위 혹은 분포를 같게 만들어주는 Scaling 작업을 거쳐야합니다. 스케일링 방법 중에 가장 흔하게 사용되는 Normalization과 Standardization에 대해 얘기해보려고 합니다. Normalization(정규화) 정..

PyTorch Lecture 10: Basic CNN

방학동안 학회에서 김성훈 교수님의 PyTorch Zero To All 강의로 공부를 하게 된 김에 스스로 정리해보려고 합니다. 좋은 강의 공유해주신 김성훈 교수님께 감사드립니다. 강의링크: https://www.youtube.com/playlist?list=PLlMkM4tgfjnJ3I-dbhO9JTw7gNty6o_2m PyTorchZeroToAll (in English) Basic ML/DL lectures using PyTorch in English. www.youtube.com CNN(Convolutional Neural Network) CNN(Convolutional Neural Network)은 Convolution Layer와 Pooling Layer로 구성된 네트워크입니다. CNN은 Local..

[Practical Statistics for Data Scientists] K-Nearest Neighbors

KNN(K-Nearest Neighbors) KNN 알고리즘의 원리는 간단합니다. 거리가 가장 가까운 k개의 데이터를 선정합니다. 분류의 경우, 선정한 k개의 데이터 중 제일 많은 데이터가 속한 class로 새로운 데이터를 분류합니다. 예측의 경우, 선정한 k개의 데이터의 평균을 구하여 새로운 데이터를 그 값으로 예측합니다. 위의 그림을 예로 들자면, 분류 문제일 때, k = 3일 때 가장 가까운 3개의 데이터는 빨간 별 1개, 초록 세모 2개로, 초록 세모가 더 많은 데이터를 구성하고 있기 때문에 새로운 데이터는 초록 세모로 분류합니다. k = 7일 때, 가장 가까운 데이터는 빨간 별이 4개, 초록 세모가 3개로, 빨간 별이 더 많은 데이터를 구성하고 있기 때문에 새로운 데이터는 빨간 별로 분류됩니다...

[2480] 주사위 세개

단계별로 풀어보기 2단계 조건문의 7번 문제입니다. https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net A, B, C = map(int, input().split()) if A == B == C: print(10000 + A * 1000) elif A == B or A == C: print(1000 + A * 100) elif B == C: print(1000 + B * 100) else: print(max(A, B, C) * 100)

백준/2. 조건문 2022.07.15

[2525] 오븐 시계

단계별로 풀어보기 2단계 조건문의 6번 문제입니다. https://www.acmicpc.net/step/4 조건문 단계 점이 어느 사분면에 있는지 알아내는 문제 www.acmicpc.net 풀이를 위해 divmod 함수를 사용했습니다. divmod(A, B)라고 하면, A를 B로 나눈 몫과 나머지를 반환합니다. 풀이에서처럼 H, M = divmod(C, 60)이라고 하면 H에는 C를 60으로 나눈 몫이, M에는 나머지가 할당됩니다. 코드 자체가 어렵다기보다는 문제에 대해 어떻게 생각하느냐에 따라 난이도, 코드 진행이 결정되는 문제라고 생각합니다. 제 풀이 밑에는 저랑은 약간 다르게 푸신 다른 분의 코드를 첨부해봅니다. A, B = map(int, input().split()) C = int(input()..

백준/2. 조건문 2022.07.15

[2884] 알람 시계

단계별로 풀어보기 2단계 조건문의 5번 문제입니다. https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net M이 45분보다 크거나 같은 경우 단순히 45를 빼주면 됩니다. 하지만 M이 45분보다 작은 경우, M만큼을 빼준 후, 남은 (45 - M)을 또 빼주어야합니다. 또 이 과정에서 H = H - 1이 되어야합니다. 예를 들자면, 10시 15분의 경우, 우선 15만큼을 빼줍니다. 그럼 10시 00분이 됩니다. 그 후 남은 (45 - 15) = 30을 빼준 후..

백준/2. 조건문 2022.07.15

[2753] 윤년

단계별로 풀어보기 2단계 조건문의 3번 문제입니다. https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net and, or이 아닌 &, |을 사용하니 틀렸다고 나왔습니다. Python에서 and, or은 우리가 흔히 아는 논리연산자로 쓰이지만, &, |의 경우 비트연산자이기 때문에 두 수를 이진수로 변환 후, &의 경우 동일한 위치의 bit가 1인 것들만 1로 계산한다고 합니다. |는 해당 위치의 bit가 하나라도 1일 경우 1로 계산합니다. ..

백준/2. 조건문 2022.07.15