본문 바로가기

Python30

[세미나 발표] Data Science from Scratch Ch.18 [딥러닝 기초] 신경망(Neural Network) 정리Data Science from Scratch (Joel Grus) Chapter 18 : Neural Network 내용을 정리한 글이다.신경망이란?신경망은 뇌가 작동하는 방식을 모방한 예측 모델이다. 뇌는 서로 연결된 수많은 뉴런들로 구성되어 있고, 각 뉴런은 입력을 받아 계산을 수행한 뒤 특정 임계값을 넘으면 활성화(발화)된다.신경망의 가장 큰 특징 중 하나는 블랙박스라는 점이다. 내부 은닉층이 정확히 어떤 역할을 하는지 사람이 명확히 파악하기 어렵다. 그래서 은닉층(hidden layer)이라는 이름이 붙었다.퍼셉트론 (Perceptron)신경망의 가장 기본 단위다. N개의 이진 입력을 받아 가중합을 계산한 후, 그 값이 0 이상이면 1(활성.. 2026. 3. 20.
[세미나 발표] Data Science from Scratch Ch.16 [머신러닝 기초] 로지스틱 회귀(Logistic Regression) 정리Data Science from Scratch (Joel Grus) Chapter 16 : Logistic Regression 내용을 정리한 글이다.왜 선형 회귀로는 안 되는가?200명의 사용자 데이터가 있다고 하자.# x : [1, 경력, 연봉] (맨 앞의 1은 절편용 bias 항)# y : 프리미엄 계정 보유 여부 (0 또는 1)x = [[1, experience, salary] for _, experience, salary, _ in data]y = [paid_account for _, _, _, paid_account in data]이 데이터로 선형 회귀를 적용하면 두 가지 문제가 생긴다.예측값이 0~1 범위를 벗어날 수 .. 2026. 3. 20.
[세미나 발표] Data Science from Scratch Ch.14 [머신러닝 기초] 단순 선형 회귀(Simple Linear Regression) 정리Data Science from Scratch (Joel Grus) Chapter 14 : Simple Linear Regression 내용을 정리한 글이다.선형 회귀 모델이란?두 변수 사이에 선형적인 관계가 있다고 가정할 때, 그 관계를 수식으로 표현하는 모델이다.예를 들어, 사이트 사용자의 **친구 수(x)**와 사이트에서 보내는 시간(y) 사이의 관계를 조사했다고 하자. 친구가 많을수록 사이트에 더 오래 머문다는 인과관계가 있다면, 다음과 같은 모델로 표현할 수 있다.yᵢ = α + β * xᵢ + εᵢα (알파) : x가 0일 때 예측되는 y값 (y절편)β (베타) : x가 1 증가할 때 y가 얼마나 변하는지 (기.. 2026. 3. 20.
[세미나 발표] Data Science from Scratch Ch.12 [머신러닝 기초] k-최근접 이웃(k-NN) 알고리즘 정리Data Science from Scratch (Joel Grus) Chapter 12 : k-Nearest Neighbors 내용을 정리한 글이다.k-Nearest Neighbors란?k-최근접 이웃(k-NN)은 존재하는 예측 모델 중 가장 단순한 축에 속한다. 복잡한 수학적 가정이나 최적화 과정이 필요 없고, 딱 두 가지만 있으면 된다.거리 개념 : 두 데이터 포인트 사이의 거리를 측정할 수 있어야 한다.가정 : 가까운 점들끼리는 서로 비슷하다.대부분의 머신러닝 알고리즘은 데이터 전체를 보고 패턴을 학습하지만, k-NN은 의도적으로 많은 정보를 무시한다. 새로운 데이터를 예측할 때 오직 가장 가까운 k개의 이웃 데이터만 참고한다.단, 이런 특성.. 2026. 3. 20.
[세미나 발표] Data Science from Scratch Ch.2, Ch.3 Data Science from Scratch (Joel Grus) CH2~CH3 (p.33~44) 내용을 정리한 글이다.1년 전에 발표한 자료를 가지고, 다시 글로 작성해봤다..! CH 2. A Crash Course in Pythonzip과 Argument Unpackingzip은 두 개 이상의 리스트를 같은 인덱스끼리 묶어 튜플의 이터레이터로 반환한다.list1 = ['a', 'b', 'c']list2 = [1, 2, 3]result = list(zip(list1, list2))# [('a', 1), ('b', 2), ('c', 3)]한 가지 주의할 점은, 두 리스트의 길이가 다를 경우 짧은 쪽 기준으로 멈춘다는 것이다.list1 = ['a', 'b', 'c']list2 = [1, 2, 3, 4, .. 2026. 3. 20.
[코딩 테스트 공부] Ch4. 구현 ‘구현’ : 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정→ 어떤 문제를 풀든, 소스코드 작성 과정은 필수이므로, 구현 문제 유형은 모든 범위의 코테 유형을 포함한다.‘구현’ 유형완전 탐색: 모든 경우의 수를 주저 없이 다 계산하는 해결 방법시뮬레이션: 문제에서 제시한 알고리즘을 한 단계씩 직접 수행구현 시 고려해야 할 메모리 제약 사항나는 파이썬으로 코딩 테스트를 볼 것이므로 파이썬의 경우만 살펴보자.파이썬에서 리스트 크기데이터 개수(리스트 길이)메모리1,0004KB1,000,0004MB1,000,000,00040MB그리고 “python3” 보다 “PyPy3” 이 실행속도가 훨씬 빠르다.구현 알고리즘의 대표적 예시 2가지상하좌우 문제: 좌표 n*n에서 현재 위치(1,1)에 서있는 여행가가 입력을 받은.. 2026. 3. 20.
[LangGraph] Tutorial LangGraph 공부를 하게 된 경위현재 반학기 빠르게 졸업프로젝트를 시작했다. 우리 팀의 목표는 RAG를 활용한 투자 조언 서비스 구현이었다. 팀은 두 명으로 나(AI)와 아는 형(Backend)으로 알차게 진행 중이었다. 나는 LangChain을 활용하여 RAG Pipeline까지 짜고 교수님에게 발표를 진행했는데, 교수님이 LangGraph라는 것을 활용하는 것은 어떻게 생각하는지 여쭤보셔서 LangGraph로 진행하게 되었다..! LangGraph를 이론적으로 배우긴 했지만, 빠른 시일 내에 적용하기 어려울 거 같아서 LangChain으로 하려 했지만,, 그래도 어쩌겠어. 시작해야지공부 방법https://github.com/teddynote-lab/langgraph-tutorial?tab=rea.. 2025. 11. 14.
[코딩 테스트 공부] 그리디 백준 티어를 올리기 위해 코딩 테스트, 줄여서 코테 공부도 시작했다..! '그리디'부터 배워볼 것이다. 그리디 : '탐욕법'이라는 뜻으로, 현재 상황에서 지금 당장 좋은 것만 고르는 방법그리디 알고리즘 : 기준에 따라 가장 좋은 것을 선택하는 알고리즘으로, 문제에서 기준을 제시해 준다. 대체로는 정렬 알고리즘을 사용하므로, 그리디 알고리즘과 정렬 알고리즘은 자주 짝을 이뤄 출제된다.그리디 알고리즘의 정당성그리디 알고리즘 문제는 문제 풀이를 위한 최소한의 아이디어를 떠올리고, 이것이 정당한지 검토할 수 있어야 답을 도출할 수 있다. 처음 문제를 만나고 바로 문제 유형을 찾기 어렵다면, 그리디 알고리즘을 먼저 의심해보자.그럼에도 풀리지 않다면 뒤에 나오는 다이내믹 프로그래밍이나 그래프 알고리즘 등으로 재차 .. 2025. 3. 23.
[코딩 테스트 공부] 기본 문법 파이썬의 기본 문법은 AI공부 카테고리의 처음 파트에서 공부했었다. 여기서는 코테에 쓰일 문법들을 알아볼 것이다! 나는 '이것이 취업을 위한 코딩 테스트다 with 파이썬' 책으로 공부했다. 자료형1. 실수형 데이터를 표현할 때, e나 E를 사용하여 지수 표현 방식을 이용할 수 있다.e다음에 오는 수는 10의 지수부를 의미한다. 1e3은 1 곱하기 10의 3 제곱이라는 뜻으로 1000을 의미한다. 이는 코딩 테스트에서 많이 사용되는데 최댓값이 10억 미만이라면 INF를 1e9으로 표현하면 편하다. 2. 소수점 값을 비교하는 작업은 round(arg, int) 함수를 이용하자.round(arg, int) 함수는 반올림해주는 함수로 arg(인자)는 실수형 데이터이고, int에는 '반올림하고자 하는 위치 - .. 2025. 3. 23.
[Python 공부] 클래스 & 모듈 & 예외 처리 & 라이브러리 ## 5.1 클래스C++에서 사용했던 클래스를 Python에서도 활용해보자!이 글은 내가 필요하다고 생각한 부분만 정리한 것이니, 학습용으로 활용하는 사람은 참고만 하길 바란다. 나는 학교에서 객체지향 프로그래밍을 배웠기 때문에, Python에서 클래스가 어떤 형태를 띠고 있고, 어떤 기능이 제공되는지에 집중하겠다.### 클래스 기본 형태```pythonclass Cal: def __init__(self): # init 양옆에 언더바가 있어야 함 self.result = 0 def add(self, num): self.result += num return self.result````__init__` 메서드는 생성자로, 객체가 생성될 때 자동으로 실.. 2025. 2. 23.