💻 개인공부 💻/머신러닝, 딥러닝

💻 개인공부 💻/머신러닝, 딥러닝

간단한 예시를 이용한 분류모델 성능지표 알아보기

Confusion Matrix (혼동행렬) - 학습을 통한 예측성능을 측정하기 위해 예측값과 실제값을 비교하기 위한 표 예측한 양성 값 예측한 음성 값 실제 양성 값 TP (True Positive) FN (False Negative) 실제 음성 값 FP (False Positive) TP (True Positive) error rate (오차율) - $\frac{FN+FP}{Total}$ accuracy (정확도) - $\frac{TP + TN}{Total}$ Precision (정밀도) - 모델이 양성이라고 분류한 것들 중, 실제 값이 양성인 비율 - 모델이 정확하게 양성으로 예측했는지를 나타내는 지표 - 거짓양성 (FP)를 최소화하는데 초점을 맞춘다. - $\frac{TP}{TP + FP}$ Rec..

💻 개인공부 💻/머신러닝, 딥러닝

DDPM 참고 링크

https://arxiv.org/pdf/2006.11239.pdf https://process-mining.tistory.com/188 Denoising Diffusion Probabilistic Models 논문 리뷰 (DDPM 설명, DDPM 증명) Denoising diffusion probabilistic models (DDPM)은 diffusion model을 활용한 image generative model을 제시한 논문으로, 기존의 diffusion model의 loss term과 parameter estimation 과정을 더 학습이 잘 되는 방향으로 발전시킨 process-mining.tistory.com https://developers-shack.tistory.com/8 [논문공부] D..

💻 개인공부 💻/머신러닝, 딥러닝

[tar] 압축파일 linux로 바로 다운받기

CIFAR-C dataset 다운받기 mkdir -p ./data/cifar curl -O https://zenodo.org/record/2535967/files/CIFAR-10-C.tar curl -O https://zenodo.org/record/3555552/files/CIFAR-100-C.tar tar -xvf CIFAR-100-C.tar -C data/cifar/ tar -xvf CIFAR-10-C.tar -C data/cifar/ IMAGENET-C dataset 다운받기 mkdir -p ./data/imagenet/imagenet-c curl -O https://zenodo.org/record/2235448/files/blur.tar curl -O https://zenodo.org/recor..

💻 개인공부 💻/머신러닝, 딥러닝

[ 딥러닝 알아가기 ] Transfer Learning과 Fine Tuning

Transfer Learning (전이학습) 성능이 좋은 딥러닝 모델을 만드는 최고의 방법은 바로 많은 수의 데이터를 확보하는 것이다. 하지만 데이터의 수가 많지 않거나 데이터를 확보하는데 많은 비용이 드는 경우가 존재할 수 있다. 이를 해결하기 위해 Transfer Learning(전이학습)을 이용한다. 전이학습이란, 특정 분야에서 학습된 신경망의 일부 능력을 유사하거나 전혀 새로운 분야에서 사용되는 신경망의 학습에 이용하는 방법이다. 전이학습은 학습 데이터의 수가 적을 때 효과적이며, 전이학습 없이 학습할 때보다 훨씬 높은 정확도와 더 빠른 학습 속도를 제공한다. 전이학습에서 이용되는 학습된 신경망을 pretrained model이라고 부르며 대표적으로 ImageNet, ResNet, gooGleNe..

💻 개인공부 💻/머신러닝, 딥러닝

[ 딥러닝 알아가기 ] 컨볼루션 신경망(CNN) 예제 학습하기

▶ 컨볼루션 신경망 (Convolutional Neural Network)의 목적성 DNN (Deep Neural Network)는 주로 1차원 형태의 데이터를 사용한다. 따라서 그림이나 이미지와 같은 2차원 형태의 데이터를 사용할 때는 1차원 형태로 flatten시켜야 한다. (완전 연결 계층, fully connected layer) flatten을 시키는 완전 연결 계층은 크게 2가지의 문제점이 발생한다. 1. 이는 데이터의 형상을 완전히 무시하게 된다. 2. 추상화 과정 없이 바로 연산과정에 넘어가버리므로 학습시간과 능률 측면에서 효율성이 떨어진다. CNN은 이러한 문제점을 해결하기 위해 도입된 방법이다. CNN은 완전 연결 계층과 달리 2차원 형태의 배열을 그대로 사용할 수 있다. ▶ 이미지의 ..

💻 개인공부 💻/머신러닝, 딥러닝

[ 딥러닝 알아가기 ] 역전파(backpropagation) 제대로 이해하기

▶ 역전파란 무엇인가 역전파는 레이블된 학습 데이터를 가지고 여러 개의 은닉층을 가지는 피드포워드 신경망을 학습시킬 때 사용되는 지도학습 알고리즘이다. 역전파는 크게 3단계의 과정이 반복적으로 이루어진다. 역전파의 단계는 아래 3개의 단계로 이루어져 있다. 1. 피드포워드 과정 모든 층에 있는 가중치를 적당히 작은 수로 초기화 학습 데이터 입력. 2. cost의 역전파 계산 과정 출력층에서 나타난 cost를 최소화하는 가중치 찾는 과정 최소제곱법을 이용해 cost를 제곱한 뒤, 가중치에 대하여 편미분. 델타 규칙 : 어떤 입력 노드가 출력 노드의 오차에 기여했다면, 두 노드의 연결 가중치는 해당 입력 노드의 출력과 출력 노드의 오차에 비례해 조절한다 3. 가중치 조정 앞 단계에서 계산된 에러의 최소평균제..

💻 개인공부 💻/머신러닝, 딥러닝

[ 딥러닝 알아가기 ] 경사하강법, 역전파, SoftMax 함수

▶ 손실함수와 경사하강법 머신러닝 모델은 위와 같은 구조로 이루어진다. 머신러닝모델에 입력값을 넣고, 출력값과 실제값의 차이를 구하여 이를 줄여가는 구조로 이루어져있다. 이때 출력값과 실제값의 차이를 손실, 비용, Cost라고 부르고, 이를 함수화한 것이 바로 비용함수이다. 그리고 비용함수의 함숫값을 줄여가는 방법으로 경사하강법이 이용된다. (Gradient Descent Algorithm) 비용함수와 경사하강법에 대하여 자세한 내용은 아래 링크에서 다루고 있다. newindow.tistory.com/118?category=1137097 [ 딥러닝 알아가기 ] 선형회귀(Linear Regression)와 경사하강법 ▶ 선형 회귀(Linear Regression)이란 무엇일까 위의 그림을 보면 데이터 값을..

💻 개인공부 💻/머신러닝, 딥러닝

[ tensorflow ] 간단한 선형회귀모델 만들기

문제 요구사항 분석 1. 변수 x,y,w,b 정의, variable 2. hypothesis, cost 함수 정의 3. cost값을 최소화하는 w값을 찾음. (learning_rate는 0.03으로 설정) 4. Session을 열고 초기화 5. x에 x, y에 y를 넣고 학습을 시킨 뒤(2001번) 적절한 w값과 b 값을 도출 소스코드 import tensorflow.compat.v1 as tf tf.disable_v2_behavior() x = [1,3,5,7] y = [7,15,21,31] w = tf.Variable(1.0) b = tf.Variable(0.0) # 변수 x,y,w,b Variable로 정의 hypothesis = x*w + b cost = tf.reduce_mean(tf.squar..

💻 개인공부 💻/머신러닝, 딥러닝

[ Tensorflow ] tf.constant, tf.placeholder, tf.Variable의 차이를 알아보자

Tensorflow에서 변수를 설정할 때 크게 3가지의 방법을 이용할 수 있다. 각각의 차이점을 알아보자. 1. tf.constant 변하지 않는 일정한 값의 상수를 설정할 때 사용한다. tf.constant (value, dtype = None, Shape = None, anem='Const', verify_shape=False) import tensorflow.compat.v1 as tf tf.disable_v2_behavior() sess = tf.Session() x = tf.constant([5]) init = tf.global_variables_initializer() sess.run(init) print(sess.run(x)) 실행결과 2. tf.placeholder 일정 값을 받을 수 있는..

공대생 배기웅
'💻 개인공부 💻/머신러닝, 딥러닝' 카테고리의 글 목록