본문 바로가기

분류 전체보기74

[신경망] 퍼셉트론 1. 퍼셉트론(Perceptron)이란퍼셉트론: 인공 신경망의 가장 기본적인 단위로 하나의 뉴런을 모델링 한 것이며 다수의 신호를 입력으로 받아 하나의 신호를 출력합니다.(퍼셉트론 신호는 '흐른다(1)/안 흐른다(0)'의 두 가지의 값을 가질 수 있습니다.) - x1, x2: 입력 신호- y: 출력 신호- w1, w2: 가중치👉🏻 뉴런에서 보내온 신호에 가중치가 곱해진 값을 더한 값이 임계값을 넘어서면 뉴런을 활성화 시킵니다. 퍼셉트론은 복수의 입력 신호에 각각 고유한 가중치를 부여합니다.즉, 가중치가 클수록 해당 신호가 그만큼 더 중요함을 뜻하는거죠! 2. 단일 퍼셉트론의 한계단일 퍼셉트론은 선형 분류이기 때문에 XOR 문제(두 입력 값이 다를 때만 1을 출력하는 문제)와 같은 비선형 문제를 해결할.. 2025. 4. 1.
[python]2470_두 용액 사용한 자료구조 및 개념 : 투 포인터 (Two-Pointer), 정렬 💡 문제풀이 아이디어 및 어려웠던 점⚠️ 어려웠던 점: 모든 용액의 조합을 확인하여 합의 절댓값이 0에 가까운 숫자들을 찾을려고 했습니다. 그러나 가능한 조합 수는 n x (n - 1) / 2 로 n이 크면 시간 초과가 발생하였습니다.N 최대 100,000일 때 조합의 수는 약 5×10¹⁰개로 O(N²) 복잡도를 가지며 시간 내에 계산이 불가능한 것이었죠..!그래서 다른 아이디어를 생각했습니다. 💫 아이디어1️⃣ 리스트 정렬: 음수와 양수가 섞여 있는 리스트를 정렬해 두 용액의 합에 대해 접근합니다.2️⃣ 양 끝에서 시작: 리스트의 가장 왼쪽(left)과 가장 오른쪽(right)에서 출발하여 두 용액의 합을 계산3️⃣ 합에 따른 .. 2025. 1. 17.
[python]1654_랜선 자르기 사용한 자료구조 및 개념 : 이분 탐색 (Binary Search) 💡 문제풀이 아이디어 및 어려웠던 점💫 아이디어가능한 최대 길이를 효율적으로 찾기 위해 이분 탐색(Binary Search) 을 사용하였습니다. 🤓 문제 풀이 단계1️⃣ 입력 받기 및 초기 설정랜선의 개수 k와 필요한 랜선의 수 n을 입력받습니다.이어서 각 랜선의 길이를 입력 받아 cables 리스트에 저장합니다.이분 탐색을 위한 시작점 start를 1로, 종료점 end를 주어진 랜선들 중 최대 길이로 초기화합니다.2️⃣ 이분 탐색을 통한 최대 길이 탐색while start 중간 길이 mid를 계산하고 이 길이로 자를 수 있는 랜선의 개수 cnt를 구합니다.만약 cnt가 목표치 n 이상이면 해당 길이 mid는 조건을 만족하므로 정답.. 2025. 1. 14.
[python]2776_암기왕 사용한 자료구조 및 개념 : set 💡 문제풀이 아이디어 및 어려웠던 점💫 아이디어이 문제에서는 두 개의 수열이 주어졌을 때, 두 번째 수열의 각 수가 첫 번째 수열에 존재하는지 여부를 빠르게 확인해야 합니다. 기본적으로 브루트 포스로 모든 요소를 비교할 수도 있겠지만, 그렇게 하면 시간복잡도가 높아져서 효율적이지 못합니다.효율적으로 해결하기 위해 set 자료구조를 활용했습니다. 파이썬의 set은 내부적으로 해시 테이블을 사용하여, 멤버십 테스트(어떤 요소가 집합에 있는지 확인)를 평균 O(1)의 시간복잡도로 수행합니다. 이를 통해 각 숫자가 첫 번째 수열에 존재하는지를 빠르게 확인할 수 있습니다.🤓 문제 풀이 단계1️⃣ 입력 받기 및 자료구조 초기화먼저 테스트 케이스(tc)의 수를 입력받습니다.각.. 2025. 1. 13.
[BERT]Input Embedding 🔍 BERT의 입력 임베딩(Input Embedding)BERT는 입력 문장을 이해하기 위해 단순히 단어만을 입력하지 않고,각 단어를 벡터(임베딩)로 변환해 모델에 넣습니다.하지만 단어 벡터만으로는 문장 구조나 문맥을 완전히 표현할 수 없기 때문에,BERT는 3가지 임베딩(Token, Segment, Position)을 더해서 최종 입력 벡터를 구성합니다. 🚀 BERT의 입력 임베딩 3가지 요소1️⃣ Token Embedding문장의 각 단어(토큰)를 고유한 벡터로 변환합니다.BERT는 WordPiece 토크나이저를 사용해 단어를 더 작은 의미 단위로 나눕니다.예를 들어,"playing" → "play" + "##ing""unbelievable" → "un" + "##believable""##"는 앞.. 2025. 1. 9.
[BERT]Input/Output Representations 🔍 BERT: 입력/출력 표현(Input/Output Representations)BERT의 입력 방식은 하나의 문장뿐만 아니라, 두 개의 문장(예: 질문-답변 쌍) 도 명확하게 표현할 수 있도록 설계되어 있습니다.즉, BERT는 단일 문장과 문장 쌍 모두를 다룰 수 있는 구조입니다. Sentence(문장)여기서 말하는 "문장"은 실제 언어적 문장(linguistic sentence)이 아니라 연속된 텍스트의 임의의 구간(span of contiguous text)을 의미합니다.예를 들어, 문서의 일부 구절이나 단락의 일부도 "문장"으로 간주될 수 있습니다.Sequence(시퀀스)BERT에 입력되는 토큰의 연속(입력 토큰 시퀀스)을 의미합니다.이 시퀀스는 단일 문장일 수도 있고, 두 개의 문장을 하나로.. 2025. 1. 9.