전체 글(87)
-
[딥러닝] ControlNet + Stable Diffusion - Scribble 기능으로 이미지 생성하기
최근 몇 년 사이 AI가 생성한 이미지들이 사람의 손으로 그린 그림과 구분하기 어려울 만큼 정교해졌습니다.그 중심에는 Diffusion Model이라는 생성 모델이 존재합니다. 특히, 이 모델을 효율적으로 구현한 Stable Diffusion, 그리고 이를 구조적으로 제어할 수 있도록 도와주는 ControlNet은 현재 가장 주목받는 기술 중 하나입니다. Diffusion Model: 노이즈를 통한 생성Diffusion Model은 데이터 생성 과정을 정확히 반대로 생각하는 발상에서 시작합니다. Forward Process 이 모델은 원래 존재하는 이미지를 점차 노이즈로 오염시키는 과정을 먼저 정의합니다. 이 과정을 Forward Process라고 하며, 수학적으로는 각 시간 t마다 조금씩 가우시안 ..
2025.05.15 -
[머신러닝] 공모전 추천 시스템(2) - chatGPT OpenAI 활용
OpenAI 패키지 임포트import openai # OpenAI 패키지 임포트import time # 시간 관련 함수 사용을 위해 임포트# OpenAI API 키 설정openai.api_key = ${openai-api-key}OpenAI 활용하여, 전처리된 데이터를 '요약' 하기# 공모전명과 공모전 소개를 요약하여 '요약' 컬럼 생성def make_new_summary(text1, text2): while True: try: # OpenAI GPT-3.5-turbo 모델을 사용하여 요약 생성 completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", # ..
2025.02.28 -
[머신러닝] 데이터가 너무 한쪽으로 치우쳐있는 문제 해결하기 - bin/로그 변환/이상치 제거/Box-Cox 변환
bin이란?bin은 히스토그램(histogram)에서 데이터를 나누는 구간의 개수를 의미히스토그램은 연속적인 데이터를 특정 범위로 나누어 빈도수를 시각적으로 표현하는 그래프Bin 개수(구간 수)가 적으면?너무 뭉뚱그려져서 데이터의 세부적인 분포를 확인하기 어려움Bin 개수(구간 수)가 많으면?너무 세분화되어서 노이즈(noise)가 많아 보일 수 있음📌 bin이 많을 때 노이즈가 증가하는 이유- 과도한 세분화(over-segmentation) - 데이터를 작은 구간으로 너무 많이 나누면, 각 bin에 포함된 샘플 개수가 적어짐. - 샘플 개수가 적으면 작은 변동(랜덤한 노이즈)도 강조되어 패턴이 아닌 우연한 변동(random fluctuation)이 더 도드라져 보임.- 데이터의 변동성이 커 보임 ..
2025.02.28 -
[머신러닝] 회귀 모델 - Linear Regression(선형 회귀)/Bagging Regressor(배깅 회귀)/Boosting Regressor(부스팅 회귀)
카테고리를 예측하면 → 분류 (Classification),숫자 값을 예측하면 → 회귀 (Regression),분류는 특정 클래스(이산적인 값),회귀는 선형적인 변화(연속적인 값) 예측에 사용분류(Classification)정해진 카테고리(클래스) 중 하나를 예측하는 문제 -> 즉, "어떤 그룹에 속하는가?" 를 예측하는 것출력값(Y)이 연속적이지 않고, 특정 클래스 중 하나로 결정됨예측 결과는 0, 1 또는 다중 클래스(예: 개, 고양이, 토끼) 같은 이산값(Discrete Value) 예제 1 : 이메일 스팸 분류입력(X): 이메일의 단어 개수, 링크 포함 여부, 광고성 문구 포함 여부출력(Y): "스팸(1)" 또는 "정상 메일(0)"예제 2 : 암 진단(양성 vs. 악성)입력(X): 종양 크기, 세..
2025.02.28 -
[머신러닝] 하이퍼파라미터 / 최적의 하이퍼파라미터 찾기란 무엇인가? / Random Forest와 하이퍼파라미터
하이퍼파라미터(Hyperparameter)란?하이퍼파라미터(Hyperparameter)는 모델이 학습하기 전에 설정해야 하는 값(설정값, 옵션)모델이 직접 학습하는 것이 아니라, 사람이 설정해야 하는 값 -> 모델의 성능을 조정하는 중요한 역할 하이퍼파라미터 vs 모델이 학습하는 파라미터모델이 학습하는 파라미터 (모델 내부에서 자동으로 학습됨) : 데이터를 보고 자동으로 최적화됨로지스틱 회귀의 가중치(W)와 편향(b)신경망(딥러닝)에서 뉴런 간의 가중치 값하이퍼파라미터 (사람이 직접 설정해야 함) : 학습 전에 사람이 직접 설정해야 하고, 모델이 자동으로 찾지 못함랜덤 포레스트의 n_estimators (트리 개수)KNN의 K 값 (몇 개의 이웃을 볼 것인지)신경망에서 learning rate (학습률)..
2025.02.27 -
[머신러닝] 분류 학습 예측 모델 - KNN / Random Forest / 3가지 모델의 단점 및 원인
K-최근접 이웃 (KNN)KNN은 새로운 데이터가 들어오면 가장 가까운 K개의 이웃을 찾아 다수결로 예측하는 방식1. 새로운 데이터(X_new = (0,0))가 들어옴2. 기존 데이터에서 가장 가까운 3개의 이웃(K=3)을 찾음3. 3개의 이웃 중 다수가 속한 클래스를 예측값으로 선택 [KNN 예측 과정] ( K=3일 때 가장 가까운 이웃 3개 )예를 들어, 주변 3개 데이터 중 2개가 Class 1(악성)이고, 1개가 Class 0(양성)이라면 Class 1(악성)으로 예측📌 KNN의 결정 경계 변화- 기존 데이터가 추가되지 않는 한 결정 경계는 변화하지 않음- 하지만 K 값을 조정하면 결정 경계가 달라질 수 있음 - K=1이면 단순히 가장 가까운 1개의 데이터 기준 - K=10이면 더 부드..
2025.02.27