AI-ML
-
[PyTorch] requires_grad 알아보기AI-ML 2024. 5. 26. 10:22
- 목차 들어가며.PyTorch 의 Tensor 는 grad 라는 속성을 가집니다.생성되는 모든 Tensor 는 None 상태의 grad 값을 가지고 있는데요.이는 이름의 의미하는바와 같이 Gradient 인 미분 기울기 값을 의미합니다.아래와 같이 임의의 Tensor 를 생성한 이후에 grad 속성을 조회하게 되면 None 이 저장되어 있음을 알 수 있습니다.import torchtorch.ones(1).grad# --> None 그럼 grad 에 해당하는 미분 기울기 값은 언제 생성될까요 ?이는 Backpropagation 과정에서 생성됩니다.아래와 같이 Tensor 를 생성하고 backward Function를 통해서 역전파를 시켜주게 되면 Tensor 의 grad 에 값이 할당됩니다.( 아래에서 ..
-
[scikit-surprise] SVD 모델 추론하기AI-ML 2024. 5. 26. 10:22
- 목차 키워드. scikit-surpriseInferenceSVD함께 보면 좋은 글. https://westlife0615.tistory.com/858 [scikit-surprise] SVD 모델 생성하기- 목차 키워드.scikit-surpriseSVDMatrix Factorization 들어가며.SVD 에 대해서 설명하는 이전 글과 이어지는 내용입니다. https://westlife0615.tistory.com/844 [scikit-surprise] SVD Model 알아보기 ( Singular Value Decomposiwestlife0615.tistory.com https://westlife0615.tistory.com/844 [scikit-surprise] SVD Model 알아보기 ( Sing..
-
[PyTorch] squeeze, unsqueeze 알아보기AI-ML 2024. 5. 21. 06:22
- 목차 들어가며.PyTorch 는 Tensor 의 차원을 늘리거나 줄일 수 있는 함수를 제공합니다.이러한 함수의 이름은 squeeze 와 unsqueeze 함수인데요.squeeze 라는 영단어의 뜻이 "(특히 손가락으로 꼭) 짜다[쥐다]", "(무엇에서 액체를) 짜내다[짜다]" 라고 하는데요.이런 의미처럼 squeeze 함수를 통해서 Tensor 의 차원을 줄이고, unsqueeze 함수를 활용하여 차원을 늘릴 수 있습니다. squeeze 함수와 unsqueeze 함수는 무턱대로 차원을 변형하지는 않습니다.차원의 Length 가 1 인 경우가 늘리거나 줄어드는 대상이 됩니다.예를 들어, 흑백의 이미지와 RGB 컬러의 이미지가 존재한다고 가정하겠습니다.일반적인 이미지는 Width 와 Height 인 크기..
-
[ scikit-surprise ] SVD Regularization Terms 알아보기AI-ML 2024. 5. 18. 17:55
- 목차 키워드.- scikit-surprise- SVD- Lasso Regularization 함께 보면 좋은 글. https://westlife0615.tistory.com/844 [scikit-surprise] SVD Model 알아보기 ( Singular Value Decomposition )- 목차 키워드.scikit-surpriseMatrix FactorizationSVDLatent Space 함께 보면 좋은 글.https://westlife0615.tistory.com/851 [scikit-surprise] Dataset 이해하기- 목차 키워드.scikit-surpriseCollaborative FilteringRecommender Systemmovielewestlife0615.tistory..
-
[scikit-surprise] SVD 모델 생성하기AI-ML 2024. 5. 18. 07:45
- 목차 키워드.scikit-surpriseSVDMatrix Factorization 들어가며.SVD 에 대해서 설명하는 이전 글과 이어지는 내용입니다. https://westlife0615.tistory.com/844 [scikit-surprise] SVD Model 알아보기 ( Singular Value Decomposition )- 목차 키워드.scikit-surpriseMatrix FactorizationSVDLatent Space 함께 보면 좋은 글.https://westlife0615.tistory.com/851 [scikit-surprise] Dataset 이해하기- 목차 키워드.scikit-surpriseCollaborative FilteringRecommender Systemmoviel..
-
[scikit-surprise] Dataset 이해하기AI-ML 2024. 5. 14. 07:23
- 목차 키워드.scikit-surpriseCollaborative FilteringRecommender Systemmovielens 들어가며.이번 글에서는 "scikit-surprise" 라이브러리가 제공하는 "Trainset" 모듈에 대해서 알아보려고 합니다.surprise 라이브러리는 Recommender System 의 구축을 도와주는 라이브러리이구요.구체적으로 "Collaborative Filtering" 의 기능을 손쉽게 구현하기 위한 모듈들을 내장합니다.특히 Matrix Factorization 기반의 상품 추천 기능을 효과적으로 구현할 수 있는데,이 과정에서 사용되는 Trainset 모듈의 특징과 사용법에 대해서 알아보도록 하겠습니다. 참고로 surprise 라이브러리의 Github 주소를..
-
[seaborn] Violin Plot 알아보기AI-ML 2024. 5. 7. 05:37
- 목차 키워드.seabornviolin plot 들어가며.이번 글에서는 seaborn 라이브러리를 활용하여 Violin Plot 을 시각화하는 방법에 대해서 알아보려고 합니다.Violin Plot 은 데이터의 밀집도를 시각화시켜줍니다.예를 들어, 연령별 인구분포를 시각화한다고 가정해보겠습니다.저연령층과 고령층의 인구는 적으며, 청년과 중장년층의 인구과 많을텐데요.이를 Violin Plot 으로 표현하면 아래와 같이 표현됩니다.아래의 Violin Plot 을 해석해보면, X 축은 age 데이터를 의미하며, Y 축은 age 변수에 해당하는 밀도를 의미합니다.즉, 70 ~ 80세의 인구가 가장 많음을 알 수 있습니다.그리고 붉은색으로 표현되는 Violin Plot 내부에 검정색의 Box Plot 이 그려집니..
-
[scikit-surprise] SVD Model 알아보기 ( Singular Value Decomposition )AI-ML 2024. 5. 7. 05:37
- 목차 키워드.scikit-surpriseMatrix FactorizationSVDLatent Space 함께 보면 좋은 글.https://westlife0615.tistory.com/851 [scikit-surprise] Dataset 이해하기- 목차 키워드.scikit-surpriseCollaborative FilteringRecommender Systemmovielens 들어가며.이번 글에서는 "scikit-surprise" 라이브러리가 제공하는 "Trainset" 모듈에 대해서 알아보려고 합니다.surprise 라이브러리는 Rwestlife0615.tistory.com 들어가며.이번 글에서는 scikit-surprise 의 SVD 모델에 대해서 살펴보려고 합니다.SVD 는 Singular Va..
-
[seaborn] Count Plot 그리기 ( sns.countplot, sns.catplot )AI-ML 2024. 5. 6. 16:09
- 목차 키워드.count plotCategorical Datahuehistogram 들어가며.이번 글에서는 seaborn 라이브러리를 활용하여 Count Plot 을 그리는 방법에 대해서 알아보도록 하겠습니다.Count Plot 은 범주형 데이터의 각각의 범주가 차지하는 데이터 갯수를 표현하는데에 사용됩니다.하나의 DataFrame 이 존재하고, DataFrame 은 범주형 데이터를 표현하는 칼럼을 가집니다.전체 데이터셋에서 개별적인 Category 가 몇 개가 존재하는지 그 구성을 파악하고 싶을 때에 Count Plot 이 사용됩니다. 아래 예시는 "gender" 라는 이름의 칼럼을 가지는 DataFrame 의 Count Plot 을 시각화하는 예시입니다.DataFrame 은 단 하나의 "gender..
-
[scikit-learn] KFold 알아보기 ( cross validation )AI-ML 2024. 4. 28. 09:11
- 목차 들어가며.이번 글에서는 sckit-learn 의 KFold Class 의 사용법에 대해서 알아보려고 합니다.데이터 학습을 수행하는 경우에 Cross Validation 기법 중의 하나로써 KFold 기법을 수행하곤 합니다. Training Dataset 을 고정된 비율로 Sub-Training Dataset 과 Sub-Validation Dataset 으로 나누는 방식이죠.즉, 하나의 데이터셋이 Training Dataset 과 Test Dataset 으로 나뉘고,이 Training Dataset 은 또다시 Sub-Training Dataset 과 Sub-Validation Dataset 로 나뉩니다.그림으로 표현하면 아래와 같습니다. KFold 는 이러한 "Sub Training Datas..