본문 바로가기
반응형

전체 글87

[딥러닝 with 파이토치] 파이토치로 사인(Sine) 함수 만들기 [본 포스팅은 "Must Have 텐초의 파이토치 딥러닝 특강"의 내용을 참조하여 작성하였습니다] 텐서플로에서 파이토치로 넘어가기 위해 입문서로 시작했던 책이 위 책의 내용을 기반으로 파이토치에 대해 공부한 내용들을 정리해보고자 합니다. 첫 번째로는 파이토치를 통해서 사인함수를 만드는 것입니다. 사인함수를 만드는 방법은 1) 임의의 다항식 만들기, 2) 다항식의 계수들을 파이토치로 작성한 딥러닝 코드로 업데이트 하여 사인함수에 근사한 함수를 만드는 것입니다. 1. 파이토치로 사인함수 만들기 1) 먼저 필요한 라이브러리를 불러와줍니다. 이때는 math와 torch, 그리고 시각화를 위해 pyplot을 불러오겠습니다. 1 2 3 import math import torch import matplotlib.p.. 2023. 9. 28.
[머신러닝 with 파이썬] 군집화(클러스터링) : K-means & HDBSCAN / 시각화 이번에는 클러스터링의 대표 알고리즘 중 하나인 K-means Clustering과 HDBSCAN에 대해 간략히 알아보겠습니다. 시각화를 기반으로 차이를 설명하겠으며, 각 모델별 자세한 내용들은 다음 포스팅에서 다뤄보겠습니다. 1. 군집화(Clustering, 클러스터링) 이란? - 클러스터링은 비슷한 특성을 가진 데이터들을 그룹화하는데 쓰이는 데이터 분석 방법입니다. - 데이터의 특성만을 기준으로 분류하기에, 비지도 학습(Unsupervised Learning)의 한 형태라 할 수 있습니다. * 비지도 학습(Unsupervised Learning) : 레이블(혹은 정답)이 지정되지 않은 데이터에서 유용한 정보를 추출하는데 사용되는 학습방법 * 비지도학습이라는 점에서 분류(Classification)과 큰.. 2023. 9. 27.
[머신러닝 with 파이썬] PCA / 주성분 분석 / 차원축소 /iris 데이터 활용 이번에 알아볼 것은 차원축소 알고리즘의 대표적인 PCA(주성분 분석)에 대해서 알아보겠습니다. Tabular type의 데이터에서 차원을 축소한다는 것은 곧, 변수의 개수(또는 피처의 개수)를 줄인다는 것을 의미하는데요. 너무 많은 피처들이 있을때 이들을 줄이는 것은 어떤 의미이며, 왜 해야되는지 등등에 대해서 PCA를 통해 알아보겠습니다. 1. PCA란 - PCA는 Principal Component Analysis의 약자로 주성분 분석으로 불립니다. - 이는 다차원의 데이터에서 차원을 줄이고 주요 정보를 추출하기 위한 통계적인 방법인데요 * 이때 차원은, 피처(feature) 혹은 변수(variable)의 숫자를 의미합니다. * 차원이 높다는 것은 피처 혹은 변수가 많다는 것을 의미하며, 이는 예측하.. 2023. 9. 26.
[딥러닝 with 파이썬] GAN (Generative Adversarial Networks) / 생성적 적대 신경망 / MNIST 데이터로 구현 이번에는 GAN, 생성적 적대 신경망에 대해서 알아보겠습니다. 1. GAN이란? - GAN은 Generative Adversarial Network의 약자로, 생성적 적대 신경망으로 불립니다. - 이는 딥러닝을 기반으로 한 모델로서, 이름에서 알 수 있듯이 생성, 즉 기존에 없던 것을 만들어내는 모델입니다. - GAN의 핵심 아이디어 * GAN의 핵심 아이디어는 생성자(Generator)와 구분자(Discriminator)라는 모델을 만들어 서로 경쟁시키는 것입니다. * 생성기는 더 실제와 유사한 데이터를 생성하려고 노력하고, 구분자는 생성기가 생성한 데이터와 실제 데ㅣ터를 구분하려고 노력하는 것입니다. 이러한 경쟁을 통해 생성기는 점차 더 정교한 데이터를 생성하게 되며, 결과적으로 생성된 데이터는 실제.. 2023. 9. 25.
[머신러닝 with 파이썬] Pycaret이란? Pycaret을 활용한 머신러닝 이번에 알아볼 것은 pycaret이라는 라이브러리 입니다. 이 라이브러린는 분석하고자하는 데이터에 대해 머신러닝 기법들을 하나씩 적용해서 비교하는 수고를 덜어버릴 수 있는 유용한 라이브러리 입니다. 이를 통해 더 빠르고 효율적으로 데이터를 분석하고 예측할 수 있습니다. 1. Pycaret이란? - Pycaret이란, Python 기반의 오픈 소스 머신러닝라이브러리 중 하나로, 머신 러닝 모델을 쉽게 구축하고 비교하며, 모델을 최적화하고 평가하는데 도움을 주는 도구입니다. - 이를 활용해서, 데이터 과학자는 최소한의 코드 작성으로 다양한 머신러닝 모델을 탐색하고 최적화해볼 수 있습니다. - Pycaret을 활용해서 머신러닝을 통해 구현되는 a) 분류, b) 회귀, c) 클러스터링, d) 이상치 탐지 등 다.. 2023. 9. 24.
[머신러닝 with 파이썬] 회귀 트리(Decision Tree) 이번에는 회귀 함수를 기반으로 하지 않고 결정 트리와 같이 트리를 기반으로 하는 회귀방식인, 회귀 트리(Decision Tree)에 대해서 알아보겠습니다. 분류에 사용되는 결정 트리에 관한 내용은 아래 포스팅을 참조하시면 도움이 되실 겁니다! [머신러닝 with Python] 결정 트리(Decision Tree) (1/2) / 결정트리 시각화(Graphviz 활용) / 붓꽃(iris) 데이터 [머신러닝 with Python] 결정 트리(Decision Tree) (1/2) / 결정트리 시각화(Graphviz 활용) / 붓꽃(iris) 데이터 이번에 알아볼 것은 분류(Classification) 모델의 대표격인 결정트리 / 결정나무 (Decision Tree) 입니다. 1. 결정트리 / 결정나무(Decis.. 2023. 9. 23.
[머신러닝 with 파이썬] 로지스틱 회귀(Logistic Regression) 이번에 알아볼 모델은 로지스틱 회귀(Logistic Regression)입니다. 로지스틱 회귀는 선형 회귀 방식을 분류에 적용한 알고리즘을 말합니다. (이때, 회귀가 선형인가 비선형인가 하는 구분은 독립 변수가 아닌, 가중치(Weight) 변수가 선형인지 아닌지를 따릅니다.) 1. 로지스틱 회귀(Logistic Regression)란? - 로지스틱 회귀는 로지스틱 함수(시그모이드(Sigmoid) 함수라고도 불립니다)를 사용하는 알고리즘으로, 분류(Classification) 문제를 다루는데 사용되는 알고리즘 중 하나입니다. * 로지스틱(Logistic) 함수 ( 시그모이드(Sigmoid) 함수 라고도 불립니다)는 아래와 같습니다. * 이 함수에서 e는 자연 로그의 밑(약 2.71828)이며, x는 입력변.. 2023. 9. 22.
[머신러닝 with 파이썬] 경사하강법(Gradient Descent) / 확률적 경사하강법(Stochastic Gradient Descent) 이번에 알아볼 것은 경사 하강법입니다. 경사하강법은 최적의 회귀식을 구하기 위해 사용되는 방법인데요. 선형 회귀의 경우 변수가 많으면 많을수록, 최소제곱법을 통해 최적의 계수(Coefficient)와 절편(Intercept)를 계산하기 시간이 오래 걸리게되는 등 많은 코스트가 발생하게 되는데요. 이를 해결하는 방법 중 하나가 경사하강법입니다. 1. 경사하강법(Gradient Descent)란? - 경사하강법의 사전적인 의미는 '점진적인 하강' 입니다. 이 뜻에서 알 수 있듯이 점진적으로 반복적인 계산을 진행하여 비용함수의 w(Weight)를 최소화 시켜가는 것을 말합니다. (여기서 w는, w0는 y 절편, w1,w2....wp는 xp의 계수를 의미합니다) - 선형회귀 모델에서는 실제 값과 예측값의 차이(.. 2023. 9. 21.
반응형