코딩(Coding)/기계학습
-
[기계학습] CIFAR-10 데이터를 분류하는 분류기를 만들어보자(with CNN) (코드실습)코딩(Coding)/기계학습 2022. 2. 25. 13:29
CIFAR-10 데이터를 분류하는 분류기를 만들어보자(with CNN) (코드실습) 오늘은 CIFAR-10 데이터를 분류하는 분류기 모델 설계를 코드실습해 보려고 한다. CIFAR-10 Dataset https://www.cs.toronto.edu/~kriz/cifar.html The CIFAR-10 and CIFAR-100 are labeled subsets of the 80 million tiny images dataset. They were collected by Alex Krizhevsky, Vinod Nair, and Geoffrey Hinton. import pandas as pd import numpy as np import matplotlib.pyplot as plt from tqdm im..
-
[기계학습]합성곱 신경망(CNN : Convolutional Nerual Network) (Part 2/2)코딩(Coding)/기계학습 2022. 2. 18. 12:03
합성곱 신경망(CNN :Convolutional Nerual Network) (Part 2/3) 기존의 Fully-Connected 모델은 1차원의 데이터 말고 2차원 이상의 데이터를 사용하게 된다면, 해당 입력 데이터를 Flatten시켜 한 줄의 데이터로 만들어야 한다. 이 과정에서 데이터의 손상이 발생하게 된다. 이미지의 경우에는 상하좌우 이웃 픽셀의 정보가 손실된다. 위 문제를 해결하기 위해 고안한 해결책이 바로 CNN이다. CNN 장점 단순 Fully-connected 보다 학습시킬 weight가 적다. 학습과 연산에 속도가 빠르며, 효율적이다. 이미지나 영상데이터를 처리할 때 사용한다. CNN의 접근 이미지 표현 => Matrix 해당 실습에서 사용된 데이터와 코드(.ipynb)는 아래 링크에서..
-
[기계학습] 합성곱 신경망(CNN : Convolutional Nerual Network) (Part 1/2)코딩(Coding)/기계학습 2022. 2. 9. 13:07
CNN(Convolutional nerual network) 등장 배경 기존의 Fully-Connected 모델은 1차원의 데이터 말고 2차원 이상의 데이터를 사용하게 된다면, 해당 입력 데이터를 Flatten 시켜 한줄의 데이터로 만들어야 한다. 이 과정에서 데이터의 손상이 발생하게 된다. 이미지의 경우에는 상하좌우, 이웃 픽셀의 정보가 손실된다. 이 문제를 해결하기 위해 고안한 해결책이 바로 CNN이다. CNN 장점 단순 Fully-Connected 보다 학습시켜야하는 Weight가 적다. 학습과 연산속도가 빠르며, 효율적이다. 이미지나 영상데이터 처리에 유용하다. CNN의 핵심 접근법 어떠한 이미지가 주어졌을때, 그 이미지가 새인지 아닌지를 결정하는 모델이 있다고 가정하자. 사람은 새의 특징인 "부..
-
[기계학습] IRIS 데이터를 분류하는 분류기를 만들어보자(코드 실습)코딩(Coding)/기계학습 2022. 2. 8. 14:06
IRIS Classification 오늘은 흔히 사용되는 IRIS 데이터셋을 가지고 이전까지의 포스팅을 복습하는 글을 쓰려고한다. 데이터 설명 붓꽃 데이터 총 150개의 데이터로 이루어져있고 Featrue는 4개, Label 1개로 (150, 5)의 Shape을 가지는 데이터이다. Sepal Length 꽃 받침의 길이 정보(cm) Sepal Width 꽃 받침의 너비 정보(cm) Petal Length 꽃잎의 길이 정보(cm) Petal Width 꽃잎의 너비 정보(cm) Species 꽃의 종류 정보(Setosa / Versicolor/Virgincia) 3종류 CSV 형식으로도 다운 받을 수 있지만, Scikit-Learn에서 제공하는 "sklearn"패키지에서 iris 데이터를 불러올 수 있다. ..
-
[기계학습] 로지스틱 회귀(분류 Classification)(Logistic Regression) (Part 2/2)코딩(Coding)/기계학습 2022. 1. 25. 22:17
이전 포스팅의 개념적인 부분을 python의 pytorch 패키지를 통해 구현하는 포스팅입니다. 이전 포스팅을 보고오세요~ :D (https://jsy-coding-blog.tistory.com/47) 포스팅에서 사용하는 PPT 자료는 제 Github에서 pdf 형식으로 받을 수 있습니다. (https://github.com/JoSangYeon/Machine_Learning_Project/blob/master/PPT/01.%20Machine%20Learning.pdf) Logistic Regression 분류 문제 지난 포스팅 복습 코드 실습(With Pytorch) 패키지 Import import numpy as np import pandas as pd import torch import torch.n..
-
[기계학습] 로지스틱 회귀(분류 Classification)(Logistic Regression) (Part 1/2)코딩(Coding)/기계학습 2022. 1. 21. 11:29
로지스틱 회귀(분류) 앞서 포스팅했던 선형회귀는 학습한 데이터를 기반으로 새로운 데이터에 대한 Output을 예측하는 문제라고 설명할 수 있겠다. 하지만, 로지스틱 회귀는 반대로 좌표평면상의 데이터를 각 그룹(class)으로 분류(classification)하는 것이다. 다음과 같은 데이터에 대해서 선형회귀를 적용한다고 가정한다면, 위 그림처럼 직선이 그려질 것이다. 이 직선을 토대로 x가 5를 기준으로 성공/실패를 분류 할 수 있을 것이다. 하지만, 문제는 아래에서 발생한다. 만약 새로운 데이터 (20, 성공)이 있다면, x가 10을 기준으로 성공/실패를 분류할 것인데, 예외로 (9, 성공)이 분류에 실패하게 될 것이다. 따라서 해결방법으로 새로운 함수를 도입한다. 바로 시그모이드(Sigmoid) 함수..
-
[기계학습] 선형회귀(Linear Regression) (Part 2/2)코딩(Coding)/기계학습 2022. 1. 18. 12:49
이전 포스팅의 개념적인 부분을 python의 pytorch 패키지를 통해 구현하는 포스팅입니다. 이전 포스팅을 보고오세요~ :D (https://jsy-coding-blog.tistory.com/45) 포스팅에서 사용하는 PPT 자료는 제 Github에서 pdf 형식으로 받을 수 있습니다. (https://github.com/JoSangYeon/Machine_Learning_Project/blob/master/PPT/01.%20Machine%20Learning.pdf) 선형회귀 구현(with Pytorch) 이전 포스팅에서 다뤘던 선형회귀의 개념을 Pytorch를 통해 구현해보자! 사용할 라이브러리를 import 한다. import numpy as np import pandas as pd import m..
-
[기계학습] 선형회귀(Linear Regression) (Part 1/2)코딩(Coding)/기계학습 2022. 1. 11. 18:44
선형회귀 선형회귀는 머신러닝 뿐만 아니라 딥러닝까지의 개념을 모두 관통하는 가장 기초적인 개념이다. 이제 부터 하나씩 천천히 내용을 살펴보자 가정 아래 그림처럼 임의 점들이 좌표계에 찍혀있다고 하자 우리의 목표는 해당 좌표들을 가장 잘 대변하는 직선의 방정식을 찾는 것이다. 가설 정의 우리는 주어진 점들을 가장 잘 표현하는 가설직선(H(x))를 정의하는 것이다. 가설 직선 H(x)는 아래와 같이 표현 할 수 있겠다.** H(x)=Wx+b
직선의 모양은 기울기(W)와 절편(b)로 결정되기때문에 우리가 결국에 구해야하는 것은 W와 b이다. 오차(Cost, Loss, Error) 우리가 정의한 가설직선의 오차를 구해보자 간단한 아이디어로 가설직선의 값(H(x))과 실제 점(Y)의 차이를 구하..