본문 바로가기

전체 글

(100)
알고리즘이란? ✔️ 알고리즘이란?알고리즘은 문제를 해결하기 위한 명확한 절차나 단계의 집합을 의미한다. 컴퓨터 과학에서 알고리즘은 주로 프로그래밍과 데이터 처리에 사용되며, 특정 작업을 수행하기 위한 명령어의 집합을 체계적으로 정리한 것이다. 알고리즘은 다양한 형태로 존재하며, 그 특성과 목적에 따라 분류된다.   ✔️ 알고리즘의 주요 특성명확성(Clarity): 알고리즘의 각 단계는 명확하고 모호하지 않아야 한다.유한성(Finiteness): 알고리즘은 유한한 단계를 거쳐 종료되어야 한다.입력(Input): 알고리즘은 0개 이상의 입력을 받아들인다.출력(Output): 알고리즘은 1개 이상의 출력을 생성한다.유효성(Effectiveness): 알고리즘의 각 단계는 실질적으로 수행 가능한 연산이어야 한다. ✔️ 알고리..
Streamlit ✔️ Streamlit파이썬으로 데이터 분석을 위한 웹앱 등을 쉽게 개발할 수 있게 도와주는 라이브러리간단한 코드로 웹 애플리케이션을 만들고 빠르게 프로토타입을 구축하고 시각적으로 공유하기 위해 사용Gradio, Voila, Binder 등과 유사https://streamlit.io/ Streamlit • A faster way to build and share data appsStreamlit is an open-source Python framework for data scientists and AI/ML engineers to deliver interactive data apps – in only a few lines of code.streamlit.io   📌설치pip install stream..
6. 비선형 활성화 함수 1. 비선형 활성화 함수(Activation Functions)신경망의 성능을 향상시키기 위해 사용선형 함수는 입력값과 가중치를 곱한 결과를 그대로 출력하기 때문에 신경망에서 여러 개의 레이어를 사용한다면 최종 출력값은 입력 값과 가중치의 선형 조합으로 표현되므로 입력 데이터의 비선형 관계를 표현할 수 없음신경망이 입력 데이터의 비선형 관계를 잘 학습할 수 있도록 하기 위해 비선형 활성화 함수가 필요 1-1. 시그모이드  1-2. 하이퍼볼릭탄젠트하이퍼볼릭 사인 함수(sinh)와 하이퍼볼릭 코사인 함수(cosh)로 정의신경망의 활성화 함수로 자주 사용됨출력값이 -1에서 1사이로 조정되어 학습 과정에서 중심화된 데이터 분포를 유지기울기 소실 문제를 완화하는데 도움  1-3. 렐루(relu)신경망에서 널리 사..
5. 딥러닝 1. 뉴런 1-1. 생물학적 뉴런인간의 뇌는 수십억 개의 뉴런을 가지고 있음뉴런은 화학적, 전기적 신호를 처리하고 전달하는 연결된 뇌신경 세포 1-2. 인공 뉴런1943년에 워렌 맥컬록, 월터 피츠가 단순화된 뇌세포 개념을 발표신경 세포의 이진 출력을 가진 단순한 개념 -> 논리 게이트라고 설명생물학적 뉴런의 모델에 기초한 수학적 기능으로 각 뉴런이 입력을 받아 개별적으로 가중치를 곱하여 나온 합계를 비선형 함수로 전달하여 출력을 생성 2. 퍼셉트론(Perceptron)1957년 인공 신경망의 가장 기본적인 형태로 처음 소개됨입력과 출력을 가진 단일 뉴런 모델을 기반초기에 기계 학습 알고리즘 중 하나로 이진 분류 문제를 해결하기 위해 설계 2-1. 논리 회귀(단층 퍼셉트론)로 AND 문제 풀기  2-2...
4. 데이터 로더 1. 데이터 로더(Data Loader)데이터 양이 많을 때 배치 단위로 학습하는 방법을 제공데이터셋에서 샘플을 추출하고, 미니배치(mini-batch)로 묶어서 모델에 공급하는 과정을 자동화할 수 있음배치 처리: 데이터를 배치 단위로 묶어서 모델에 공급섞기(Shuffling): 에포크마다 데이터를 무작위로 섞는다다중 프로세싱(Multiprocessing): 여러 프로세스를 사용하여 데이터를 병렬로 로드커스텀 데이터셋: 사용자 정의 데이터셋을 손쉽게 사용할 수 있음   2. 손글씨 인식 모델 만들기
3. 파이토치로 구현한 논리회귀 1. 단항 논리회귀(Logistic Regression)이진 분류를 할 때 사용하며, 선형 회귀 공식으로부터 나왔기 때문에 논리회귀라는 이름이 붙여짐회귀 분석을 기반으로 하지만 분류 문제에 사용주로 시그모이드 함수를 사용논리회귀는 입력 데이터 x에 대한 선형 결합 계산 -> 그 결과를 시그모이드 함수에 통과시켜 출력값을 0과 1사이의 값으로 변환 -> 이 값을 특정 클래스에 속할 확률로 계산   2. 비용함수Binary Cross Entropy논리회귀에서는 nn.BCELoss() 함수를 사용하여 Loss 계산1번 시그마, 2번 시그마 중에서 1번 시그마는 정답이 참이었을 때 부분, 2번 시그마는 정답이 거짓이었을 때 부분이다.     3. 다항 논리회귀  3-1. CrossEntropyLoss교차 엔트로..
2. 파이토치로 구현한 선형회귀 1. 단항 선형 회귀한 개의 입력이 들어가서 한 개의 출력이 나오는 구조   2. 최적화(Optimization)학습 모델의 손실함수(loss function)의 최솟값을 찾아가는 과정학습 데이터를 입력하여 파라미터를 걸쳐 예측 값을 받음 -> 예측값과 실제 정답과 차이를 비교하는 것이 손실함수이고, 예측값과 실젯값 차이를 최소화 하는 파라미터를 찾는 과정이 최적화 2-1. 경사하강법(Gradient Descent)딥러닝 알고리즘 학습 시 사용되는 최적화 방법 중 하나최적화 알고리즘을 통해 최적의 W와 b를 찾아내는 과정을 "학습"이라고 부름   2-2. 학습률(Learning rate)한 번의 W를 움직이는 거리(increment step)0 ~ 1 사이의 실수학습률이 너무 크면 한 지점으로 수렴하는 ..
1. 파이토치 1. 파이토치(Pytorch)텐서플로우와 함께 머신러닝, 딥러닝에서 가장 널리 사용되는 프레임워크초기에는 Torch라는 이름으로 Lua언어 기반으로 만들어졌으나, 파이썬 기반으로 변경한 것이 파이토치뉴욕대학교와 페이스북(메타)이 공동으로 개발하였고, 현재 가장 대중적이고 사용자가 많은 머신러닝, 딥러닝 프레임워크  1-1. 스칼라(Scalar)하나의 상수를 의미  1-2. 벡터(Vector)상수가 두 개 이상 나열된 경우  1-3. 행렬(Matrix)2개 이상의 벡터값을 가지고 만들어진 값으로, 행과 열의 개념을 가진 데이터의 나열  1-4. 텐서(Tensor)다수의 행렬이 모이면 텐서배열이나 행렬과 매우 유사한 특수 자료구조파이토치는 텐서를 사용하여 모델의 입력과 출력, 모델의 매개변수들을 처리   2..