T'SPACE

다채로운 에디터들의 이야기

728x90
반응형

컴퓨터공학/인공지능 19

오버피팅 과적합과 언더핏팅

학습 곡선 해석하기훈련 데이터에 있는 정보를 크게 두 가지로 나눌 수 있습니다: 신호(signal)와 노이즈(noise)입니다. 신호는 모델이 새로운 데이터에서 예측할 때 도움이 되는 부분이며, 일반화될 수 있는 정보입니다. 반면, 노이즈는 훈련 데이터에서만 나타나는 우연한 변동이나 의미 없는 패턴을 포함하고 있으며, 실제로는 예측에 도움이 되지 않는 정보입니다.모델을 훈련할 때, 우리는 훈련 세트의 손실(loss)을 최소화하는 가중치 또는 파라미터를 선택합니다. 그러나 모델의 성능을 정확하게 평가하려면 새로운 데이터 세트, 즉 검증 데이터(validation data)에서 평가해야 합니다.훈련할 때, 우리는 각 에포크마다 훈련 세트의 손실을 그래프로 그립니다. 여기에 검증 데이터의 손실도 추가로 플로팅..

Stochastic Gradient Descent 경사하강법

신경망 훈련 방법: 학습 과정 이해하기이번 강의에서는 신경망을 훈련시키는 방법과 신경망이 어떻게 학습하는지를 알아보겠습니다.모든 머신러닝 작업과 마찬가지로, 우리는 먼저 학습 데이터를 준비해야 합니다. 학습 데이터의 각 예시는 입력(특징)과 기대 출력(목표)으로 구성됩니다. 신경망을 훈련시킨다는 것은, 이러한 입력을 출력으로 변환할 수 있도록 네트워크의 가중치를 조정하는 것을 의미합니다.학습 데이터를 준비하는 것 외에도, 우리는 두 가지 요소가 더 필요합니다:손실 함수: 네트워크의 예측이 얼마나 좋은지를 측정합니다.최적화 알고리즘: 네트워크가 가중치를 어떻게 변경해야 할지 알려줍니다.손실 함수손실 함수는 모델의 예측값과 목표값의 차이를 측정합니다. 문제 유형에 따라 다른 손실 함수를 사용할 수 있습니다...

딥뉴럴 네트워크 Deep Neural Networks

레이어 Layers신경망은 일반적으로 뉴런을 레이어로 조직화합니다. 동일한 입력을 가진 선형 유닛들을 모으면 밀집층(dense layer)이 됩니다.신경망의 각 레이어는 상대적으로 간단한 변환을 수행한다고 생각할 수 있습니다. 여러 레이어가 쌓이면서 신경망은 입력을 점점 더 복잡한 방식으로 변환할 수 있습니다. 잘 훈련된 신경망에서는 각 레이어가 점점 더 정답에 가까워지도록 변환을 수행합니다.활성화 함수 Activation Function그러나, 두 개의 밀집층을 중간에 아무것도 없이 연결하면 하나의 밀집층과 크게 다르지 않습니다.→ 여러 선형 변환을 거쳐도 여전히 선형이기 때문입니다.밀집층만으로는 단순한 선과 평면의 세계를 벗어날 수 없습니다. 우리는 비선형적인 무언가가 필요합니다. 바로 활성화 함수입..

딥러닝과 뉴런, 파이썬 케라스 코드

딥러닝이란 무엇인가?딥러닝은 기계 학습의 한 접근 방식으로, 깊이 있는 계산 스택이 특징입니다. 이러한 깊은 계산이 딥러닝 모델이 복잡하고 계층적인 패턴을 파악할 수 있게 해주며, 이는 가장 도전적인 실제 데이터셋에서 발견됩니다.신경망은 이러한 강력함과 확장성을 통해 딥러닝의 대표적인 모델이 되었습니다.선형 유닛 Linear Unity=wx+b신경망의 연결에는 w라고 하는 가중치가 있습니다. 값이 연결을 통해 흐를 때마다, 그 값을 연결의 가중치로 곱합니다.신경망은 가중치를 수정함으로써 "학습"합니다.b는 바이어스 (bias) 라고 불리는 특별한 종류의 가중치입니다. 바이어스는 입력 데이터와 연관되지 않은 출력 값을 조정할 수 있게 해줍니다.다중 입력 하나의 뉴런에 더 많은 입력 연결을 추가하여 각 추가..

파이선 pandas 라이브러리 get_dummies()

get_dummies()https://tonnykang.tistory.com/216 k-Nearest Neighbors (k-NN) 모델 KNNk-NN(k-Nearest Neighbors)는 지연 학습 알고리즘이다.정의k-NN은 함수가 Locally (가깝게) 근사되고, 모든 계산이 함수 평가 시점까지 미뤄지는 지연 학습 알고리즘이다. 분류와 회귀 모두에서 알고리즘은tonnykang.tistory.comKNN 모델은 참 편하고 단순한 Base 모델로 사용하기에는 너무나 좋은 모델이다 하지만 각 instance간의 거리를 구해야하는 모델이기에범주형 Catagorical Feature같은 경우에는 문제가 생긴다... 예를 들어 아래와같은 데이터가 있다고 하자data = { 'Color': ['Red',..

Naive Bayes model, 네이브 베이즈 모델

네이브 베이즈는 베이즈 정리에 기반한 간단하지만 효과적인 확률론적 분류기의 집합이다."네이브(Naive)"라는 이름은 각 특성(또는 예측 변수)들이 클래스 레이블에 대해 서로 독립적이라고(independent) 가정하기 때문에 붙여졌다. 실제로 미국에서는나이브라고 발음한다단순한 사람보고  Don't be so Naive!이런식으로 사용된다 Independent 하다는 이 가정은 실제 데이터에서는 자 만족되지 않지만 계산을 크게 단순화시켜 준다.Bayes' Theorem 베이즈 이론P(C|X) = P(X|C)P(C) / P(X)  여기서:P(C|X)는 특성 X가 주어졌을 때 클래스 C의 사후 확률이다.P(X|C)는 클래스 C가 주어졌을 때 특성 X를 관측할 가능성인 값으로, 훈련 데이터 (Train Set..

k-Nearest Neighbors (k-NN) 모델 KNN

k-NN(k-Nearest Neighbors)는 지연 학습 알고리즘이다.정의k-NN은 함수가 Locally (가깝게) 근사되고, 모든 계산이 함수 평가 시점까지 미뤄지는 지연 학습 알고리즘이다. 분류와 회귀 모두에서 알고리즘은 Feature 공간에서 가장 가까운 k개의 훈련 예제를 기반으로 출력을 예측한다. 작동 방식학습 단계:k-NN의 학습 단계는 없다! Lazy Learning Algorithm학습 데이터는 단순히 저장되고, 명시적인 모델은 학습되지 않는다.예측 단계:분류:주어진 테스트 인스턴스에 대해, 알고리즘은 테스트 인스턴스와 모든 훈련 인스턴스 간의 거리를 계산한다.가장 가까운 k개의 훈련 인스턴스(이웃, neighbor)를 식별한다.테스트 인스턴스의 클래스 레이블은 k개 이웃 중 다수결 투표..

Scikit-learn, Imputer 결측값 처리기 (null values, nan)

결측 값은 AI 개발자들에게 매우 큰 골칫 거리이다 전처리의 기본 단계이며결측 값들을 채우는 방법은 매우 많다가능한 다른 Feature들과 관계를 찾아서 채우면 좋겠지만불가능하거나 너무 복잡한 경우가 있다   단순하게 채우는 가장 간단한 방법은 1. 최빈값2. 평균값3. 중앙값.. 등등 있다  이 과정을 한번에 해주는 library가 Scikit-learn의 imputer 라이브러리다 코드 예시를 한번 보자MissingIndicatorfrom sklearn.impute import MissingIndicatorimport numpy as np# Example data with missing valuesX = np.array([[1, 2, np.nan], [np.nan, 3, 4],..

K-fold Cross Validation 심화편 (Data Leakage, Stratified)

https://tonnykang.tistory.com/137 k-fold cross-validation 교차 검증 (오버피팅 방지) cf) 데이터train data : 학습을 통해 가중치, 편향 업데이트validation data : 하이퍼파라미터 조정, 모델의 성능 확인test data : 모델의 최종 테스트하이퍼파라미터 : 값에 따라서 모델의 성능에 영향을 주 tonnykang.tistory.com 위에서 알 수 있다시피 K-fold Cross-validation은 데이터 수가 적어 underfitting되는 상황을 방지해주고 더 일반화 된 모델을 만드는데 도움이 된다 그러나 문제점이 몇가지 있다 왜 머신러닝에서는 랜덤 샘플링을 선호하지 않을까? 이진 분류 문제를 예시로 들자 우리의 데이터셋은 샘플 ..

728x90
반응형