2024/10 34

스파르타 AI-8기 TIL(10/22) -> ANN계속

계속 이어가겠습니다.1. ptimizer.zero_grad()기울기(gradient)를 0으로 초기화하는 단계입니다. 역전파(backward)를 실행할 때 그레디언트가 계속해서 누적되므로, 매번 새로운 학습 단계에서 기존의 그레디언트를 초기화해야 합니다. optimizer.zero_grad()는 이전 배치에서 계산된 그레디언트를 지워주는 역할을 합니다. 만약 이 작업을 하지 않으면, 이전 배치의 기울기가 이번 배치에 누적되어 잘못된 업데이트가 이루어질 수 있습니다.2. outputs = model(inputs)입력 데이터를 모델에 넣어 예측 값을 얻는 단계입니다. model(inputs)는 모델이 입력 데이터를 받아 순전파(forward pass)를 통해 예측값(outputs)을 생성하는 과정입니다. 여..

카테고리 없음 2024.10.22

스파르타 AI-8기 TIL(10/21)

어제에 이어서 하도록 하겠습니다.class SimpleANN(nn.Module): def __init__(self): super(SimpleANN, self).__init__() self.fc1 = nn.Linear(28 * 28, 128) # 입력층에서 은닉층으로 self.fc2 = nn.Linear(128, 64) # 은닉층에서 은닉층으로 self.fc3 = nn.Linear(64, 10) # 은닉층에서 출력층으로 def forward(self, x): x = x.view(-1, 28 * 28) # 입력 이미지를 1차원 벡터로 변환 x = torch.relu(self.fc1(x)) ..

카테고리 없음 2024.10.21

스파르타 AI-8기 TIL(10/20)

인공 신경망 ANN(Artifical Neural Network)인공 신경망은 인간의 뇌 구조를 모방하여, 데이터를 처리하고 학습하는 모델입니다. 주로 이미지 분류, 음성 인식, 자연어 처리 등 다양한 분야에서 사용되며, 복잡한 문제를 해결하는 데 탁월한 성능을 발휘합니다.인공 신경망기본 구조인공 신경망은 기본적으로 노드(Node)또는 뉴련(Neuron)이라는 작은 단위들이 서로 연결되어 있는 구조를 가지고 있으며, 이들은 각 계층이라는 형태로 배열되며, 정보가 일정하게 한 방향으로 전달되며 처리됩니다.1. 입력층 : 입력 데이터를 받아들이는 계층입니다. 입력층의 각 뉴런은 하나의 입력을 나타내며, 입력 데이터의 각 특성이 이곳으로 전달됩니다. 예를 들어, MNIST 이미지 데이터가 28x28 크기의 픽..

카테고리 없음 2024.10.20

스파르타 AI-8기 TIL(10/19) -> 딥러닝

신경망의 기본 원리인공 신경망( Artificial Neural Networks, ANN)은 쉽게 말해 인간의 뇌 구조와 기능을 따라해 인간이 생각하고 말하는 것처럼, 모델도 똑같은 방식으로 학습하고 수행하는 기계이지만, 데이터를 처리하는 방식이 인간과 다를 뿐입니다.퍼셉트론(Perceptron)은 인공신경망의 가장 기본적인 형태로, 이진 분류 문제를 해결하기 위해 설계된 단일 층 신경망입니다.그냥 인간의 뉴런처럼 데이터를 처리하고 생각할 수 있게 하는겁니다.즉, 쉽게 말하면 인간의 뇌는 뉴런이 있고, 그 뉴런을 통해 신경망을 형성을 하고 생각을 하는데, 뉴런이 퍼셉트론, 인공 신경망이 신경망이라 생각하면 편합니다.예를 들어, 특정 값을 입력하고, 알맞게 계산되어 내가 원하는 답을 만들어주는 함수를 만들..

카테고리 없음 2024.10.19

스파르타 AI-8기 WIL(10/18)

이번주는 러닝 머신에 대해 배웠습니다.솔직히 좀 어렵더라구요. 특히 강의에서 나온 코드들은 따로 의미를 알려줄 뿐, 쓰는법, 즉 그 코드의 프레임이 뭔지 정확한 해답이 없었습니다. 그래서 그것을 전부 찾아보는 어려움이 있었습니다. 그런데 솔직히 찾아보면서 재미있기도 했습니다.  새로운것을 찾았다는 느낌과 그것을 새로이 배웠다는 느낌. 확실히 다르긴 하더라구요. 특히 처음 선형회귀를 다시 복습을 하는 과정에서 제가 몰랐던 정보까지 싹다 얻을 수 있어서, 저는 솔직히 만족감이 컸습니다. 하지만 오늘 DBSCAN을 마지막으로(SBSCAN도 약간 덜 들어간) 깊게 파고드는 것을 포기했습니다. 시간이 너무 오래 들었기 때문입니다. 딥 러닝도 배워야 했기에 저는 어쩔 수 없이 기본 개념들만 가지고 딥 러닝을 시작할..

카테고리 없음 2024.10.18

스파르타 AI-8기 TIL (10/18) -> 복습

어제 복습하면서 뺴먹은 부분 설명 다시 하겠습니다.K-Means Clustering에 대해 조금 더 자세히 알아보겠습니다.이것은 과정을 짧게 요약하겠습니다.K-평균 클러스터링 과정 요약 1. K값 설정: 사용자가 클러스터의 수 𝑘를 선택합니다.2. 초기 중심점 선택: 그러면 K값에 맞게 설정된 수 만큼 데이터 포인트에서 K개의 중심점이 랜덤으로 설정되게 됩니다.3. 클러스터 할당: 이제 중심점으로 선택된 데이터 포인트들이 주변에 있는 여러 데이터 포인트들과의 유클리드 거리를 계산합니다. 그리고  각 데이터 포인트는 가장 가까운 중심점에 할당되어 해당 클러스터에 속하게 됩니다. 이 과정은 데이터 포인트의 수에 상관없이 모든 포인트에 대해 이루어집니다. 4. 중심점 업데이트: 그렇게 되면, 이제 군집 안에..

카테고리 없음 2024.10.18

스파르타 AI-8기 TIL (10/17) -> 복습

이제 모든것을 처음부터 끝까지 한번 달려보자. 그런데, 먼저 통계부터 공부해야 할 것 같다.머신 러닝머신 러닝이란 뭘까?머신 러닝이란,데이터를 이용해 기계가 스스로 학습하여 특정 작업을 수행하는 기술입니다. 사람이 직접 모든 규칙을 코딩하지 않고, 데이터를 바탕으로 패턴을 찾아내고 이를 통해 결론을 도출하거나 예측을 하는 방법입니다.머신 러닝은 데이터에서 학습하여 예측이나 결정을 내리는 시스템을 개발하는 분야입니다. 머신 러닝 모델은 주어진 데이터를 바탕으로 패턴을 찾고, 이를 통해 미래의 데이터에 대한 예측을 수행합니다. 그렇기에 3개의 종류로 나뉘어 집니다.1.지도 학습 (Supervised Learning):입력 데이터와 그에 대한 정답(레이블)이 주어지면, 모델이 이 데이터를 통해 패턴을 학습하는..

카테고리 없음 2024.10.17

스파르타 AI-8기 TIL(10/16) -> 비지도 학습: 군집화모델(K-means Clustering, 계층적 군집화)

비지도 학습: 군집화모델 -> k-means clustering 학습 지도에서는 정답을 맞추고, 그것을 AI에게 학습을 시켰다면, 비지도 학습은 정답이 없습니다. 즉, 비지도 학습에서는 입력 데이터만 있고, 이를 통해 데이터의 구조나 패턴을 학습합니다. 주로 데이터를 분류하거나 그룹으로 묶는 데 사용됩니다.예를 들어 서로 비슷한 데이터끼리 묶어, 한 군집을 만드는 식으로 학습을 합니다.K-means clusteringK-means clustering이란 주어진 데이터를 여러 개의 클러스터(그룹)로 나누는 알고리즘입니다. 특징 하나하나를 컬럼으로 나타내는데, 이 컬럼을 좌표로 생성해 둔다면, 데이터는 차원에 따라 그림으로 나타낼 수 있는 형태로 나온다. 그리고 그 그림(좌표)형태에서 서로 가까이 있는 것들..

카테고리 없음 2024.10.16

스파르타 AI-8기 TIL(10/15) - 로지스틱 회귀(추가), SVM, KNN, 나이브 베이즈, 의사결정나무

어제와 이어서 하겠습니다.로지스틱 회귀의 수식은이렇게 되어 있으며, 저 z는 기본적인 회귀 모델의 수식의 값을 가지고 있습니다. 그렇기에 z의 값이 커지면 커질수록 전체의 값은 0에 더 가까워지며, 0에 가까워질수록 전체 값은 1에 가까워 집니다.그러면 이제 강의에서 나온 코드를 가져오겠습니다. import numpy as npimport pandas as pdfrom sklearn.datasets import load_breast_cancerfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScaler# 데이터 로드data = load_breast_cancer()X = data.data..

카테고리 없음 2024.10.15

스파르타 AI-8기 TIL(10/14) -> 머닝 러신(회귀 머신, 로지스틱 회귀)

회귀 머신은 연속적인 값을 예측하는 데에 쓰이는 해결 방법이자 하나의 알고리즘입니다. 여러가지가 있지만 가장 기초적인 부분은 바로 선형 회귀입니다. 주어진 입력 데이터로부터 출력 값을 예측하고, 그 관계를 직선으로 모델하는 것이 바로 선형 회귀 입니다.그 전에 먼저, 머닝 러신의 기초에 대해 알아봅시다. 머닝 러닝에서는 정말 수 많은 학습 방법이 있으며, 이 학습들을 기반으로 AI는 다양하게 학습할 수 있습니다. 1. 지도 학습 -> 규칙과 정답을 통해 인공지능이 학습을 하여, 다른 결과물도 출력하게 하는 것입니다.2. 회귀 -> 연속적인 값에서 규칙을 학습하는 문제3. 비지도 학습 -> 정답이 없지만 비슷한 데이터들을 찾아 학습하는 것입니다.4. 강화 학습 -> 순차적 학습(순차적으로 실제로 영향을 주..

카테고리 없음 2024.10.14