전체 글 45

[AI] 머신러닝 주요 개념(하이퍼파라미터 최적화)

하이퍼 파라미터 최적화: 모델이 좋은 성능을 내려면 어떤 하이퍼 파라미터가 어떤 값을 가지면 좋을지 찾는 작업대표적인 방법 : 그리드서치, 랜덤서치, 베이지안 최적화 등 그리드서치기본적인 하이퍼 파라미터 최적화 기법으로 주어진 하이퍼 파라미터를 모두 순회하며 가장 좋은 성능을 내는 값을 찾는 것=> 시간 오래 걸림 랜덤서치하이퍼파라미터를 무작위로 탐색해 가장 좋은 성능을 내는 값을 찾는 기법무작위라는 한계 때문에 그리드서치나 베이지안 최적화에 비해 사용 빈도가 떨어짐 베이지안 최적화사전 정보를 바탕으로 최적 하이퍼파라미터 값을 확률적으로 추정하며 탐색하는 기법그리드서치나 랜덤서치보다 최적 하이퍼파라미터를 더 빠르고 효율적으로 찾아줌bayes_opt라는 패키지로 베이지안 최적화를 구현할 수 있다.> 1 하..

AI 2025.10.02

[AI] 머신러닝 주요 개념(랜덤 포레스트, XGBoost, LightGBM)

랜덤 포레스트결정 트리를 배깅 방식으로 결합한 모델분류와 회귀 문제에 모두 적용 가능분류 모델은 RandomForestClassifier, 회귀 모델은 RandomForestRegressorRandomForestClassifier의 파라미터n_estimators : 랜덤 포레스트를 구성할 결정 트리 개수기본값 = 100criterion : 분할 시 사용할 불순도 측정 지표세부 내용은 DecisionTreeClassifier와 동일max_depth : 트리의 최대 깊이세부 내용은 DecisionTreeClassifier와 동일min_samples_split : 노드 분할을 위한 최소 데이터 개수세부 내용은 DecisionTreeClassifier와 동일min_samples_leaf : 말단 노드가 되기 위..

AI 2025.10.02

[AI] 머신러닝 주요 개념(주요 머신러닝 모델-1)

주요 머신러닝 모델선형 회귀 모델훈련 데이터에 잘 맞는 모델 파라미터(회귀계수)를 찾는 것1. 데이터 랜덤으로 만듦2. 모델 훈련위에서 생성된 데이터를 이용해 선형 회귀 모델 훈련 -> 적절한 회귀계수와 y절편 값을 찾아줌from sklearn.linear_model import LinearRegressionlinear_reg_model = LinearRegression() # 선형 회귀 모델linear_reg_model.fit(x, y) # 모델 훈련print('y절편(w0):', linear_reg_model.intercept_) # ①print('회귀계수(w1):', linear_reg_model.coef_) # ②y절편(w0): [5.09772262]회귀계수(w1): [[1.9808382]] 3...

AI 2025.10.02

[AI]머신러닝 주요 개념

데이터 인코딩머신러닝 모델은 문자 데이터를 인식하지 못하기 때문에, 문자로 구성된 범주형 데이터는 숫자로 바꾸어야 함.경우에 따라서 이미 숫자로 구성된 범주형 데이터도 모델 성능을 향상하기 위해 다른 숫자 데이터로 바꾸기도 함.이렇게 범주형 데이터를 숫자 형태로 바꾸는 작업을 데이터 인코딩이라고 함.대표적인 인코딩 방식으로는 레이블 인코딩과 원-핫 인코딩이 있음. 레이블 인코딩범주형 데이터를 일대일 매핑해주는 인코딩 방식일차원 데이터에 적용하는 LabelEncoder, 2차원 데이터에 적용하는 OrdinalEncoder단 단점이 있음, 명목형 데이터를 인코딩하면 모델 성능이 떨어질수도 있음.ex) 1(바나나), 3(사과)보다 1(바나나), 2(블루베리)를 더 비슷한 데이터라고 인식함. => 각각 별개의 ..

AI 2025.10.01

[AI]머신러닝 주요 개념-분류와 회귀

분류와 회귀타깃 값이 범주형 데이터면 분류 문제, 수치형 데이터면 회귀문제분류주어진 피처에 따라 어떤 대상을 유한한 범주로 구분하는 방법ex. 도서를 정리할 때) 책의 내용(피처) IT 도서(타깃)이진분류와 다중분류가 있음 분류 평가지표오차행렬, 로그 손실, ROC곡선과 AUC1. 오차행렬오차 행렬을 활용한 주요 평가 지표로는 정확도, 정밀도, 재현율, F1점수가 있다.정확도평가 지표로 정확도를 사용하는 경우 많지 않음정밀도양성 예측의 정확도 의미, 양성이라고 예측한 값 중 실제 양성인 값의 비율음성(일반메일)을 양성(스팸 메일)으로 잘못 판단하면 문제가 발생하는 경우에 사용재현율양성값 중 양성으로 잘 예측한 비율양성(암)을 음성(암이 아니다)으로 판단하면 문제가 되는 경우 사용F1 점수정밀도와 재현율을..

AI 2025.09.30

[논문리뷰]SAM 2 : Segment Anything in Images and Videos

제가 소개드릴 내용은 Meta에서 발표한 최신 논문, SAM 2: Segment Anything in Images and Videos입니다.SAM2는 다음과 같은 특징을 갖습니다.스트리밍 메모리를 갖춘 트랜스포머 아키텍처를 활용해 실시간 비디오 처리가 가능하고,그리고 기존 방법보다 3배 적은 연산량으로도 오히려 더 높은 정확도를 보여줍니다.마지막으로 기존 SAM보다 6배 더 빠르고, 더 정확하다는 점도 주목할 만합니다.SAM2는 사용자의 클릭, 박스, 마스크 입력을 기억한 뒤, 이를 바탕으로 시공간적으로 객체를 추적하며 지속적이고 인터랙티브하게 객체를 분할하는 모델입니다.기존 SAM은 정적인 이미지 분할에서는 탁월한 성능을 보였지만,비디오 환경에서는 한계가 있었습니다.즉, 연속적인 프레임 속에서 객체를 ..

[AI] 파이토치 기초

파이토치 : GPU 에서 텐서 조작 및 동적 신경망이 가능한 프레임워크 GPU : 연산 속도를 빠르게 하는 역할텐서 : 파이토치의 데이터 형태동적 신경망 : 훈련을 반복할 때마다 네트워크 변경이 가능한 신경망, 연산 그래프를 정의하는 것과 동시에 값도 초기화되는'Define by Run' 방식을 사용한다벡터, 행렬 텐서• 1차원 축(행) = axis 0 = 벡터• 2차원 축(열) = axis 1 = 행렬• 3차원 축(채널) = axis 2 = 텐서텐서를 표현하기 위해 `torch.tensor()` 사용 파이토치의 아키텍처 torch: GPU를 지원하는 텐서 패키지 다차원 텐서를 기반으로 다양한 수학적 연산이 가능하도록 한다. 특히 CPU뿐만 아니라 GPU에서 연산이 가능하므로 빠른 속도로 많은 양의 계..

AI 2025.06.02

[AI]머신러닝과 딥러닝

AI를 제외한 내가 백엔드랑 프론트랑 그 어떤 것도 관심이 없다는 것을 깨닫는 중 그런 김에 다시 AI 기초부터 정리해보기인공지능과 머신러닝 딥러닝의 관계머신러닝과 딥러닝의 차이 머신러닝(machine learning) : 주어진 데이터를 인간이 먼저 처리(전처리)딥러닝(deep learning) : 인간이 하던 작업을 생략함. 대량의 데이터를 신경망에 적용하면 컴퓨터가 스스로 분석한 후 답을 찾음특성 추출 : 데이터별로 어떤 특징을 가지고 있는지 찾아내고, 그것을 토대로 데이터를 벡터로 변환하는 작업머신러닝 컴퓨터가 스스로 대용량 데이터에서 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것즉, 컴퓨터가 학습할 수 있게 알고리즘과 기술을 개발하는 분야 머신러닝은 크게 학습 단계와 예측 단계로 구분할 수..

AI 2025.05.26

[논문리뷰] SAM(Segment Anything)

이번에 제가 소개할 논문은 Meta AI 가 발표한 SAM입니다. 객체 탐지는 객체의 위치를 찾고 그 객체가 무엇인지 분류(Classification)하는 작업입니다.화면에 보시는 타임라인은, 2001년부터 최근까지 객체 탐지 기술이 어떻게 발전해왔는지를 보여줍니다.2012년 ALEXNET을 기점으로 전통적인 방식에서 딥러닝 기반 탐지 방식으로 전환되고,2014년엔 2 stage detector 의 대표적인 모델 RCNN이 등장하고,2016년엔 one stage detector의 대표 모델 yolo가 등장합니다.그리고 2020년에는 transformer 를 객체 탐지에 최초로 적용한 detr이 등장합니다.이제, SAM의 등장배경을 알아보겠습니다NLP에서는 GPT가 한 줄 프롬프트만으로 번역·요약·코딩까..

트리

트리 :계층적인 구조를 나타내는 자료구조트리는 부모-자식 관계의 노드들로 이루어짐트리의 용어노드(node): 트리의 구성요소에지, 간선(edge): 노드들 간의 연결선, 관계가 있음을 표현함루트(root): 부모가 없는, 계층구조에서 가장 높은 곳에 있는 노드서브트리(subtree): 하나의 노드와 자손들로 이루어짐단말노드(terminal): 자식이 없는 노드레벨(level): 트리의 각층의 번호높이(height) : 트리의 최대 레벨차수(degree): 노드의 자식 노드수이진트리각 노드에는 최대 두개의 자식 노드가 존재모든 노드의 차수가 2 이하가 된다.서브 트리 간의 순서가 존재( 왼쪽, 오른쪽 )노드의 개수가 n개이면 간선의 개수는 n-1높이가 h : 최소 h개~최대 2^h -1개의 노드를 가짐.n..

Study/자료구조 2024.10.17