AI/ML

· AI
역전파(Back-propagation)가 흐름은 알겠는데 이해가 잘되지 않아서, 증명을 하는 과정에서 갑자기 에러가 발생했다 Error : RuntimeWarning Invalid Value Encountered in Subtract 본론부터 이야기하면, 신경망 학습 과정에서 값이 너무 커져서 발생한 것이다 종종 Deep Learning에서 발생하는 문제로, 학습률이 너무 높거나 데이터가 적절히 정규화되지 않았을 때 발생할 수 있다 수정 된 코드 활성화 함수 : sigmoid 함수 손실 함수 : 평균 제곱 오차 (Mean Squared Error, MSE) import numpy as np # 시그모이드 함수 정의 def sigmoid(x): return 1 / (1 + np.exp(-x)) # 시그모이..
· AI
- [[Deep Learning]]에서 사용하는 활성화 함수 ReLU (Rectified Linear Unit) 함수는 활성화 함수 중 하나로, 입력이 0을 넘으면 그 입력을 그대로 출력하고, 0 이하이면 0을 출력하는 함수입니다 f(x) = max(0, x) sigmoid 함수보다 ReLU의 장점 신경망의 맥락에서는 sigmoid 함수가 활성화 함수로 전통적으로 사용되었습니다. 1. 기울기 소실 문제 (Vanishing Gradient Problem) 시그모이드 함수는 출력값이 0 또는 1에 가까워질수록 그래프의 기울기가 매우 작아져서, 역전파(Back-propagation) 과정에서 가중치의 업데이트가 거의 이루어지지 않는 기울기 소실 문제가 발생합니다. 반면, ReLU 함수는 출력값이 0보다 큰 경..
· AI
역전파는 Deep Learning의 기본 알고리즘으로, 신경망이 오류를 통해 학습하고 성능을 개선하는 방법을 이해하는 데 필수적입니다 역전파라 불리는 이유는, 이전 단계에서 계산된 오차가 네트워크를 통해 다시 전파되어 출력 계층에서 입력 계층으로 이동하기 때문입니다 이 과정에는 초기 순방향 통과와 반대 방향으로 네트워크의 출력 계층에서 입력 계층으로 전파되는 계산이 포함됩니다. 이 역전파는 미적분학의 Chain Rule에 크게 의존합니다. 모델 구성 입력 레이어 프로세스는 초기 데이터가 네트워크에 공급되는 입력 레이어에서 시작됩니다. 각 입력에는 입력의 중요성을 나타내는 가중치가 할당됩니다. 이러한 가중치는 일반적으로 무작위로 초기화됩니다. 숨겨진 레이어 가중치가 적용된 입력은 하나 이상의 숨겨진 레이어..
· AI
역전파(Back-propagation) - 역전파 : Chain Rule을 통해 경사 계산을 작게 분해 후 결합하여 최종 기울기를 얻는 프로세스a 역전파는 신경망에서 사용할 가중치 계산에 필요한 기울기를 계산하기 위해 인공 신경망에서 사용하는 방법입니다. 네트워크 가중치에 대한 손실 함수의 기울기를 계산하기 위해 체인 규칙을 사용합니다. 목적 역전파의 목적은 네트워크의 가중치를 조정하여 손실 함수를 최소화하는 것입니다. 가중치에 대한 손실 함수의 기울기를 계산한 다음 이 기울기를 사용하여 손실을 줄이는 방향으로 가중치를 업데이트합니다. 사용: 역전파는 신경망의 훈련 단계에서 사용됩니다. Autograd Autograd는 Tensor의 모든 작업을 자동으로 구분하는 PyTorch 패키지입니다. 이것은 실행..
· AI
- **실제 값과 예측 값의 차이를 제곱하여 평균** - 값이 작을 수록, 예측이 정확하다는 것이다 MSE는 예측이 실제 값에 얼마나 가까운지를 나타내며, 모델의 성능을 평가하는 데 중요한 지표입니다. 평균 제곱 오차(MSE)는 실제 값과 예측 값의 차이를 제곱하여 평균을 낸 것입니다. 이 값이 작을수록 예측이 실제 값과 가까워지며, 크면 클수록 예측이 부정확해집니다. 수식 n은 전체 데이터 포인트의 수 yi는 i번째 실제 값 ŷi는 i번째 데이터 포인트에 대한 예측 값 이는 모델이 예측하는 값이 실제 값에 가까워지도록 독립 변수의 계수를 조정하는 데 사용됩니다. 이러한 과정은 경사 하강법과 같은 최적화 알고리즘을 통해 이루어집니다. 부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
· AI
- 데이터 포인터를 계층적으로 분석해 클러스터링하는 방법 - 병합 클러스터링 : 하향식 - 분할형 클러스터링 : 상향식 계층적 클러스터링은 데이터 포인트들을 계층적인 클러스터나 클러스터의 트리 형태로 만들어가는 클러스터링 방법입니다. Intro 계층적 클러스터링에는 각 데이터 포인트를 초기에는 하나의 클러스터로 간주하고, 기존 클러스터를 계속해서 병합하거나 분할하는 과정을 거칩니다. 이 과정은 모든 데이터 포인트가 하나의 클러스터로 병합될 때까지 계속됩니다. 1. 병합형 계층적 클러스터링 이 방법은 하향식 접근법을 사용합니다. 각 데이터 포인트는 자신만의 클러스터에서 시작하여 단계별로 클러스터들이 결합됩니다. 결국에는 모든 데이터 포인트를 포함한 하나의 클러스터만이 남게 됩니다. 클러스터의 결합은 클러스..
· AI
Intro. 머신러닝 지도 학습(Supervised Learning) : 역사 : 독립 변수 | 종속 변수 독립 변수와 종속 변수로 모델을 만드는 것입니다 문제를 많이 풀면 점점 문제를 맞출 확률이 올라가는 것처럼 또는, 원인으로부터 결과를 도출 하고 싶을 때 사용합니다 과거의 데이터로 학습해서 결과를 예측하는데 올라간다 Regression(회귀) 모델 숫자를 알고 싶은 경우 https://bit.ly/ml1-regression-list : 회귀 사례 Classification 추측하고자 하는 것이 이름인 경우 https://bit.ly/ml1-class-list : 분류 사례 비지도 학습(Unsupervised Learning) : 탐험 : 데이터의 성격 파악 : 변수 | 변수 | 변수 기계에게 데이터..
· AI
K - Means 알고리즘 실습 Intro 먼저 K-Means Clustering이 무엇인지, 그리고 어떤 실제 세계의 어플리케이션에서 사용되는지 살펴보겠습니다. K-Means는 군집화 모델 중 가장 단순한 모델 중 하나로, 그 단순함에도 불구하고 많은 데이터 과학 응용 프로그램에서 광범위하게 사용됩니다. 고객 세그멘테이션, 웹사이트 방문자의 행동 이해, 패턴 인식, 기계 학습, 데이터 압축 등에서 특히 유용하게 활용됩니다. 여기에서는 두 가지 예제를 통해 K-Means 클러스터링을 연습하게 될 것입니다. 무작위로 생성된 데이터셋에서의 K-Means 고객 세그멘테이션을 위한 K-Means 사용 1단계: 무작위 데이터셋 생성 먼저, 실습을 위한 데이터셋을 생성해 보겠습니다. 여기서는 numpy의 rando..
· AI
- 주어진 데이터를 여러 개의 상이한 그룹으로 분할한다 - 그룹 내 중심을 반복적으로 구해, 데이터 정밀도를 향상한다 K-Means 클러스터링은 비지도 학습(Unsupervised Learning)으로 Clustering을 하는 알고리즘이다. 이 알고리즘은 주어진 데이터를 여러 개의 상이한 클러스터로 그룹화한다 단계별 과정 : 반복 1. Set up Centroids 클러스터의 개수(K)를 결정합니다. K개의 클러스터 중심점을 무작위로 초기화합니다. 2. Distance Matrix 각 데이터 포인트(고객)를 거리에 기반하여 가장 가까운 클러스터 중심점에 할당합니다. 각 Centroid로부터 데이터 포인트의 거리를 Distance Matrix에 기록하고, 이를 중심으로 클러스터에 할당합니다 3. Clus..
· AI
Clustering - 물건들이 주어졌을 때 비슷한 것끼리 그룹을 만들면 군집화 - 관측치(행)를 그룹화하는 비지도 학습(Unsupervised Learning) 방법 물건들이 주어졌을 때 비슷한 것끼리 그룹을 만들면 군집화 관측치(행)를 그룹화하는 [[비지도 학습(Unsupervised Learning)]] 방법 클러스터링 알고리즘의 종류 분할 기반 클러스터링 이 알고리즘은 구형 클러스터를 생성합니다. 예로는 K-평균, K-중앙값, 퍼지 c-평균 등이 있으며, 이들은 대부분 효율적이며 중대형 데이터베이스에 사용됩니다. K-Means Clustering 계층적 클러스터링 이 알고리즘은 클러스터의 트리를 생성합니다. 예로는 병합 클러스터링과 분할 클러스터링이 있습니다. 이 알고리즘은 직관적이며 소규모 데이..
berom
'AI/ML' 태그의 글 목록