목록Activity (37)
데이터 꿈나무
삽입 정렬 (Insert Sort) 앞쪽의 원소들은 이미 정렬되었다고 가정 정렬할 원소부터 차례로 삽입될 위치를 찾아 삽입한다. 💡 핵심 아이디어 : 원소를 알맞은 위치에 삽입하자. 퀵 정렬 (Quick Sort) 임의의 Pivot(보통 제일 앞 또는 뒤의 요소)을 선정하고, Pivot을 기준으로 작고, 큰 묶음으로 나눈다. 나눠진 좌우 묶음에 대해 더 이상 쪼개지지 않을 때까지 반복한다. ※ 데이터가 정렬된 경우 O(N2)까지 성능이 저하된다. 💡 핵심 아이디어: Pivot을 중심으로 나눈다. (Pivot은 보통 맨앞 or 맨뒤로 잡는다.) 합병 정렬 (Merge Sort) 분할 : 배열의 크기가 1이 아니라면, n/2로 쪼갠다. 정복 : 각 부분 배열을 정렬한다. 통합 : 부분 배열을 합병하여 하나의..
안녕하세요~ 저번 포스팅 때 os.path.split과 os.path.splitext에 대해서 포스팅을 했었는데요, 이후에 새로운 과제를 진행하게 되어 이 주제로 포스팅 해보려고 해요:) 이번 주제는 상위폴더 아래 여러 하위폴더 내에 있는 파일 정보를 가져오는 방법입니다! 저번 포스팅이 궁금하신 분들은 아래 링크를 클릭해주세요~! https://risingdata.tistory.com/63 [Python] os.path.split과 os.path.spiltext 알기 안녕하세요~! 오늘은 os.path로 파일 경로 다루는 법을 포스팅 해보려고 해요. 저도 os는 많이 다뤄보지 않아서 자세한 내용은 몰랐는데, 이번에 인턴하면서 알게 되어서 공부 겸 포스팅하려고 합 risingdata.tistory.com ..
안녕하세요~! 오늘은 os.path로 파일 경로 다루는 법을 포스팅 해보려고 해요. 저도 os는 많이 다뤄보지 않아서 자세한 내용은 몰랐는데, 이번에 인턴하면서 알게 되어서 공부 겸 포스팅하려고 합니다ㅎㅎ 도움이 되셨으면 좋겠어요! 우선, 저는 의료 데이터인 dicom파일을 이용해서 파일을 다뤄볼텐데요, dicom파일은 간단히 말하면 의료 이미지 및 데이터를 저장하기 위한 표준 포맷 및 통신 프로토콜을 지칭하는 용어입니다. dicom에 대해 더 궁금하신 분은 아래 '더보기'를 클릭해주세요..! 더보기 DICOM은 "Digital Imaging and Communications in Medicine"의 약자로, 의료 이미지 및 관련 데이터를 저장, 표현 및 교환하기 위한 표준 포맷 및 통신 프로토콜을 지칭..
딥러닝에서 사용되는 앙상블 학습 방법 중 하나로, 학습 중에 여러 개의 “스냅샷” 모델을 생성하고 이들을 결합하여 예측 성능을 향상 시키는 기법이다. SSE의 핵심은 Cyclical learning rate(e.g. Cosine Annealing)을 사용함으로써 다양한 관점(driverse prediction)을 학습한 단일 모델을 얻을 수 있다는 것이다. 위 그림을 보면 cyclical(주기적) lr을 사용하는 모델은 여러 개의 local optima에 도달할 수 있고, 각각의 local optima를 ensemble(앙상블)하고 있다. ✅ 스냅샷 모델이란? Snapshot Ensemble에서 사용되는 여러 개의 중간 모델 중 하나를 가리킨다. 학습 중에 특정 지점에서 신경망의 가중치를 저장한 것이다...
📌 MobileNet이란? 컴퓨터 비전 작업을 위한 경량화된 신경망 아키텍쳐이다. 모바일 및 임베디드 장치에서 실시간 이미지 인식 및 처리와 같은 작업에 사용하기에 적합한 모델로 개발되었다. 모바일 기기에서 돌아갈 수 있을 만큼 경량한 구조를 설계하는데 집중했다. 📌 특징 경량화 디자인 작은 모델 크기와 낮은 계산 비용을 가지고 있어, 리소스가 제한된 환경에서도 효과적으로 동작할 수 있다. 주로 모바일 기기, 드론, 로봇 및 기타 임베디드 시스템에서 유용하게 활용한다. Depthwise Separable Convolution 이 레이어를 사용하여 모델의 효율성을 극대화한다. 이러한 레이어는 컨볼루션 연산을 두 단계로 분리하여 연산량을 크게 줄여준다. 다양한 버전 여러가지 버전과 크기를 제공하며, 필요에 ..
[논문] EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks 📌 EfficientNet 모델이란? 모델 크기를 효율적으로 조절하면서 높은 성능을 유지하는 목표로 개발된 심층 신경망 아키텍쳐 EfficientNet은 아래의 “Scaling Dimensions”의 세가지 방법에 대한 최적의 조합을 찾는 AutoML을 통해 찾은 모델이다. 그러므로 3가지를 효율적으로 조절할 수 있는 compound scaling 방법을 제안한다. 따라서, 제한된 resourse 범위에서 최적의 조합을 고려한다. → 기존보다 훨씬 적은 파라미터 수로 더욱 좋은 성능을 내서 SOTA를 달성할 수 있었다. ※ Scaling Dimensions이란? (더..
💡 VIT (Visual Transformer) 모델이란? Transformer 아키텍쳐를 활용하는 컴퓨터 비전 모델. 이미지 인식 및 처리 작업에서 높은 성능을 발휘하는 딥러닝 모델로, 자연어 처리(NLP) 분야에서 성공을 거둔 Transformer 구조를 컴퓨터 비전 분야에 적용한 모델이다. 기존의 Convolutional Neural Networks(CNNs) 대신 Transformer 구조를 사용함으로써, 전역적인 이미지 정보를 적절하게 포착하고 처리할 수 있다. 이미지를 작은 패치로 나누고(Image patch), 이 패치들을 Sequence로 변환하여 이미지를 처리하고 분류하는 방식 📌 선정 이유 논문 "An Image is Worth 16x16 Words: Transformers for Im..
안녕하세요. 인턴 생활을 하면서 교육 받았던 내용을 복습하고 정리하고자 이렇게 찾아왔습니다..! 이번 포스팅은 '알고리즘 기초'에 대해서 정리해볼텐데요, 크게 시간 복잡도, 공간 복잡도, 자료 구조와 같은 내용으로 준비해봤습니다. 재미있게 봐주세요 :) 📌 시간 복잡도 특정 알고리즘이 어떤 문제를 해결하는 데 걸리는 시간 O(n), 빅-오 : 알고리즘의 성능을 나타내는 표기법. 보통 알고리즘의 최악의 경우의 계산량을 나타내며, 낮을수록 성능이 좋다. O(1) / O(log n) / O(n) / O(n^2) 📌 공간 복잡도 특정 알고리즘이 얼마나 많은 메모리를 차지하는가를 나타냄 시간 복잡도와 동일한 표기를 사용한다. 📌 자료 구조 자료의 표현과 관련된 연산으로, 자료의 구조에 따라 실행 시간이 달라짐. ..
안녕하세요~ 이번 포스팅은 오랜만에 프로그래머스 문제 풀이를 해보려고 해요~! 재밌게 봐주세요:) 📌 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경..
📌 문제 📌 코드 def solution(numbers): answer = 0 numbers.sort(reverse = True) return max(numbers[0]*numbers[1], numbers[-1]*numbers[-2]) sort 함수로 오름차순 정렬해준 뒤, reverse =True를 하여 내림차순 정렬해줍니다. (reverse 과정은 해주지 않아도 결과가 같습니다.) 그리고 이렇게 정렬해준 것의 앞에서 1,2번째와 뒤에서 1,2번째를 곱한 값이 최댓값이 될 후보들이기 때문에 이 두 값 중에서 max 함수로 감싸 최댓값을 출력해줍니다.