전체 글 97

회귀 모델 | 단순 선형 회귀_Simple Linear Regression

Simple Linear Regression(단순 선형 회귀)‘하나의 요인이 얼마나 영향을 주는지’를 설명하고 싶을 때 이용한다. Simple Linear Regression(단순 선형 회귀)은 하나의 독립 변수(X)를 이용해 하나의 종속 변수(Y)를 예측하는 가장 기본적인 회귀 분석 기법이다. 이 모델은 데이터가 직선(linear)의 형태로 관계를 가진다고 가정하며, 아래와 같은 수식으로 표현된다.언제 사용할까?- 변수 간 관계가 선형이라고 가정할 수 있을 때 - 하나의 변수로 목표 값을 예측하고자 할 때- 모델 해석이 중요한 경우 (ex. 가격 변화에 영향을 주는 요인 분석) Numpy를 통한 단순 선형 회귀 모델 구현하기class SimpleLinearRegression: # 클래스 선언 및 ..

퍼셉트론(Perceptron)

퍼셉트론: 다수의 신호를 입력 받아 하나의 신호로 출력: 복수 입력 신호 각각에 고유 가중치를 부여 원 모양 : 뉴런 or 노드w : 가중치가중치(w)란?: 각 신호가 결과에 주는 영향력을 조절하는 매개변수: 가중치가 클수록 해당 신호가 그만큼 더 중요함을 의미한다.편향(b)?: 뉴런(노드)이 얼마나 쉽게 활성화(결과로 1을 출력)하느냐를 조절하는 매개변수 논리 회로(진리표)퍼셉트론 구현 (가중치,편향 포함)1. AND def AND(x1,x2): x = np.array([x1,x2]) w = np.array([0.5, 0.5]) b = -0.7 tmp = np.sum(w*x)+b if tmp 2. NAND def NAND(x1,x2..

차원 축소 기법 : 주성분 분석(PCA) VS 요인 분석

주성분 분석 (PCA: Principal Component Analysis) (목적): 고차원 데이터를 저차원으로 축소하면서 분산(정보)을 최대한 보존: 변수 간 상관관계를 고려해 새로운 축(주성분) 생성 (주요 개념): 주성분 (Principal Component): 기존 변수들의 선형 결합: 주성분끼리는 직교(orthogonal) → 중복되는 정보 없음: 설명된 분산(Explained Variance): 각 주성분이 설명하는 데이터의 정보량 (분석 순서)1. 데이터의 표준화 : PCA는 데이터의 분산과 공분산을 기반으로 주성분들을 추출하기 때문에, 먼저 데이터를 평균이 0이고 분산이 1인 형태로 표준화한다.2. 변수들 간의 공분산 행렬 계산: 표준화된 데이터를 기반으로 공분산 행렬을 계산한다. 이 행..

앙상블(Ensemble)

[ 앙상블 ]= 여러 개의 분류기(Classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법= 앙상블 학습의 종류 ) 1. 보팅(Voting) / 2. 배깅(Bagging) / 3. 부스팅(Boosting) / 4. 스태킹(Stacking)[ 보팅(Voting) ] = 여러 개의 분류기 중 투표 또는 평균을 통해 최종 예측 결과를 결정하는 방식= 다양한 알고리즘을 조합할 수 있다. (Ex : SVM + KNN + RandomForest)= 빠르고 간단하다.= 개별 모델의 독립성이 중요하다.  (종류)1. 하드 보팅(Hard Voting) : 다수의 모델이 예측한 클래스 중에서 가장 많이 나온 것을 선택2. 소프트 보팅(Soft Voting) : 모델들의 확률 예측값을 ..

결정트리 : Information Gain, Entropy, Gini 계수, Misclassification Error

[ Entropy ] → 엔트로피가 커질수록 Information Gain이 낮아지고 클래스 간의 명확한 구분이 어려우며 예측이 어려움.: 데이터의 불순도(무질서함): 불순도 또는 혼잡도를 측정하는 지표: 데이터가 얼마나 섞여 있는지를 나타낸다.: 클래스가 다양할수록 엔트로피가 커진다.: 정보 이론 기반 → "얼마나 예측이 어려운가"를 수치적으로 표현을 잘함.(수식)- Pi : 클래스 i의 비율 / c : 전체 클래스의 개수(특징)→ 값 범위: 0 ~ log₂(c) (이진 분류면 0 ~ 1)→ 상대적으로 계산 복잡도가 복잡하다.→ ID3, C4.5 알고리즘에서 사용 [ Gini 계수(Gini Impurity) ]→ Gini 계수가 작을수록 노드는 순수(=하나의 클래스가 지배적)하며, 올바르게 분류될 확률..

결정 트리 Decision Tree

결정 트리: 나무(Tree) 구조를 기반으로 의사결정 규칙을 만들어 데이터를 분석하는 모델: 질문들이 있고, 질문을 답해가며 분류하는 알고리즘: 분류와 회귀 분석에 모두 적용 가능: 대상 변수 : 분류 분석 - 범주형 / 회귀 분석 - 연속형:   좋은 질문이란? : 전체 데이터셋을 카테고리를 기준으로 명확하게 잘 구분해주는 질문! Information Gain(정보 획득) : 좋은 질문과 나쁜 질문을 결정 짓는 기준: 정보 획득이 많다 = 질문으로 인해 나뉘는 데이터셋의 집단에 카테고리가 잘 분리된다라는 의미: Ex) Entropy, Gini 계수 ( 트리 구조 )노드(Node)트리를 구성하는 각 요소루트 노드(Root Node)트리의 시작점 / 상위 노드가 없는 노드부모 노드(Parent Node)자..

교차 검증 : K-폴드 교차 검증

교차 검증(Cross Validation): 데이터를 여러 부분으로 나누고, 각 부분을 훈련과 테스트 용도로 번갈아 사용하여 모델을 평가하는 방법 : 훈련 데이터가 많지 않을 때 사용한다.모든 데이터셋을 평가에 활용하기 때문에 데이터셋이 부족할 때 적용하는 방법이다.: 일반화된 모델 성능 평가 가능K개의 성능 결과를 통합하여 하나의 결과를 도출하기 때문에 보다 일반화된 모델 성능 평가가 가능하다.K-Fold 교차 검증: 데이터셋을 K개의 부분(폴드)로 나누는 방법K번의 다른 실험을 수행하며, 서로 다른 폴드를 테스트 데이터로 사용하고 나머지 (K-1)개의 폴드를 학습 데이터로 사용한다. K번의 실험을 통해 얻은 성능 지표들의 평균을 내어 최종 성능을 산출한다. : K값이 크면 연산 비용이 증가한다.(단점..

머신러닝 모델 학습에서의 편향과 분산

편향(Bias): 편향 = 예측값 - 실제값: 모델이 실제 데이터의 패턴을 단순화해서 발생한 예측 오류의 경향: 모델이 단순할수록 편향이 높아질 가능성이 크다.: 편향이 크다? == 모델이 무언가 중요한 요소를 놓치고 있다라는 의미: 편향이 높을 경우 :  모델이 너무 단순하여 데이터의 패턴을 제대로 학습하지 못함 → 과소적합(Underfitting)발생 분산(Variance): 주어진 데이터로 학습한 모델이 예측한 값의 변동성: 모델이 학습 데이터에 지나치게 의존하여 데이터의 노이즈에 민감하게 반응하는 예측의 불안정성: 복잡한 모델일수록 분산이 높아질 가능성이 크다.: 훈련 데이터에는 매우 높은 성능을 보이지만, 새로운 데이터에서는 성능이 급격히 떨어짐 → 과적합(Overfitting) 발생  편향과 ..

손실 함수(loss function)

loss function = 손실 함수: 모델이 예측한 값과 실제 값 사이의 차이를 측정하는 함수: 모델의 성능을 평가하고 어떤 방향으로 개선이 되어야 하는지 알려주는 역할: 손실 함수의 값이 낮을수록 모델의 예측이 실제값에 가까워진다.: 모델 학습의 목표 --> 손실 함수의 값을 최소화하는 것 손실 함수의 종류MSE(Mean Squared Error)- 평균제곱오차- 예측값과 실제값의 차이를 제곱한 후 평균을 낸 값- 이상치가 많이 존재한다며, 과대평가할 가능성이 있다.MAE(Mean Absolute Error)- 평균절대오차- 예측값과 실체값의 차이를 평균을 낸 값- 이상치가 많아 MSE로 평가하기에 문제가 있을 때, MAE를 사용한다. --> MSE에 비해 MAE는 이상치에 비교적 강건하다.RMSE..

지도 학습, 비지도 학습, 강화 학습

머신러닝의 기술들은 크게 3가지(지도 학습, 비지도 학습, 강화 학습)으로 분류가 된다. 지도 학습과 비지도 학습은훈련 데이터를 기반으로 학습한다는 공통점이 있지만,학습하는 훈련데이터의 구성이 다르다는 점에서 차이점이 있다.지도 학습(Supervised Learning): 정답이 있는 데이터(label)들을 학습한다.: 기계의 예측이 의도한 정답(label)이 되도록 지도하는 것: 미래 데이터를 예측한다.(장점)1. 명확한 목표와 성능 지표학습과 평가가 매우 명확하다.레이블이 지정된 학습 데이터 덕분에, 알고리즘이 어떤 목표를 향해 나아가야 하는지 분명히 알 수 있기에 모델의 성능을 객관적으로 평가가 가능하다.2. 다양한 분야에서 높은 정확도주어진 데이터와 잘 정의된 목표 덕에 다양한 분야에서 높은 정확..