머신러닝 & 딥러닝 79

파이토치 기초 텐서(Tensor) 연산 및 유용한 함수 - torch.add(), arange(), view(), sum(), transpose() 저번 글(텐서 타입)에 이어서 기본적인 연산에 대한 공부입니다. 주피터 노트북으로 실습 In [1] : import torch def describe(x): print("타입: {}".format(x.type())) print("크기: {}".format(x.shape)) print("값: \n{}".format(x)) - 라이브러리를 불러온 후, 설명을 위한 간단한 함수를 정의합니다. In [2] : x = torch.randn(2,3) describe(x) - 실습을 진행하기 위해서 텐서 생성합니다. In [3] : describe(torch.add(x, x)) - torch.add() 함수를 사용해 연산 수행합니다. - torch.add(), torch.sub() 등 다양한 함수가 존재합니다. In.. 머신러닝 & 딥러닝/자연어처리 2021. 11. 27.
파이토치 기초 텐서(Tensor) 타입 - float, long, double 지난 글에 이어서 텐서의 타입에 대해서 알아보겠습니다. 텐서 타입과 크기 텐서에는 타입과 크기가 있습니다. torch.Tensor()의 기본 텐서 타입은 torch.FloatTensor입니다. 텐서 타입은 초기화할 때 지정하거나 나중에 다른 타입(float, long, double 등)으로 바꿀 수 있습니다. 처음 초기화 할 때의 타입 지정엔 두 가지 방법이 있습니다. 1. FloatTensor, LongTensor 같은 특정 텐서 타입의 생성자를 직접 호출한다. 2. torch.tensor()와 함께 dtype 매개변수를 사용한다. 주피터 노트북으로 실습 In [1] : import torch def describe(x): print("타입: {}".format(x.type())) print("크기: .. 머신러닝 & 딥러닝/자연어처리 2021. 11. 27.
파이토치 기초 텐서(Tensor) 다루기 - torch.Tensor(), rand(), randn(), zeros(), ones(), fill_(), from_numpy() 파이토치를 활용한 자연어 처리를 기본서부터 공부하고 있습니다 기본서에서 파이토치를 사용해 텐서를 만드는 기초부분을 공부했습니다. 주피터 노트북으로 실습 In [1] : import torch def describe(x): print("타입: {}".format(x.type())) print("크기: {}".format(x.shape)) print("값: \n{}".format(x)) - 파이토치를 불러오고, 텐서를 생성했을 때 확인하기 위한 간단한 함수입니다. In [2] : describe(torch.Tensor(2,3)) - torch.Tensor()를 사용해 차원을 지정하여 텐서를 랜덤하게 초기화 할 수 있습니다. In [3] : describe(torch.rand(2,3)) describe(tor.. 머신러닝 & 딥러닝/자연어처리 2021. 11. 27.
원-핫 표현, TF 표현, TF-IDF 표현 원-핫 표현 (one-hot representation) 원 핫 표현은 0벡터에서 시작해 주어진 문장에 대해서 등장하는 단어가 있으면 값을 1로 설정하는 것. 다음의 문장들을 예시로 들겠습니다. Time flies like an arrow. Fruit flies like a banana. 위의 문장을 토큰(token)으로 나누고 모두 소문자로 바꾸면 다음과 같이 나타낼 수 있습니다. { time, fruit, flies, like, a, an, arrow, banana } 이처럼 각 단어를 원-핫 벡터로 표현할 수 있고 다음과 같이 나타낼 수 있습니다. TF 표현 TF 표현은 단순히 원-핫 표현을 합해 만듭니다. 앞의 문장을 예시로 들어 'Fruit flies like time flies a fruit'.. 머신러닝 & 딥러닝/자연어처리 2021. 11. 25.
[ML 논문 공부 - 002] GPT-1 논문 : Improving Language Understandingby Generative Pre-Training 얼마 전 카카오브레인의 KoGPT 소개영상을 본 적이 있습니다. 자연어 처리(NLP) 분야에 대해서는 공부를 한 적이 없었는데, 카카오브레인의 소개 영상을 보고 자연어 처리 분야에 대해서 관심이 생겼습니다. 해당 영상에서 GPT-3에 대해서 언급을 하는데 자연어 처리 분야에 대해서 본격적으로 공부하기 전에 GPT-3를 알고자 해당 논문을 찾게 되었습니다. GPT-3 논문을 보기 전에 GPT-1 부터 차례대로 보려고 합니다. 논문 링크 : Improving Language Understanding by Generative Pre-Training Introduction 논문에서는 원시 텍스트(raw text)에서 학습을 하는 효과적인 능력은 자연어 처리에서 지도 학습에 대한 의존성을 완화하는데 중요하다고 합.. 머신러닝 & 딥러닝/논문 리뷰 2021. 11. 25.
[OpenCV with Python] - 14. 히스토그램 평활화, 이퀄라이즈(histogram equalize) : cv2.equalizeHist() 코드 및 이미지 : https://github.com/Seokii/Study_OpenCV GitHub - Seokii/Study_OpenCV: study about OpenCV study about OpenCV. Contribute to Seokii/Study_OpenCV development by creating an account on GitHub. github.com 이번에는 cv2.equalizeHist() 를 사용하여 영상(이미지)의 히스토그램을 평활화 시키고, 간단하게 그려보도록 하겠습니다. 히스토그램 평활화(equalize) 히스토그램의 평활화는 명암 값의 분포가 한쪽으로 치우친 영상을 고르게 분포시켜주기 위한 방법을 의미합니다. 평활화를 통해 영상(이미지)의 명암 대비를 증가시켜 인지도를 .. 머신러닝 & 딥러닝/컴퓨터 비전 2021. 11. 10.
데이터프레임 - 그룹화된 데이터 열(column) 가공하기(2) : 배열 형태의 데이터 각 column으로 정리하기 지난번 포스팅에 이어서 나머지 열(column)인 Group_A 와 Group_B를 정리해보도록 하겠습니다. 주피터 노트북으로 구현 In [11] : group_A = train_df['Feature_Group_A'] group_A[0] - Group A와 Group B의 경우 한 행에 배열의 형태로 데이터가 들어가 있었습니다. 256개의 원소를 가지는 배열이었으며 모든 행이 같은 형태였습니다. - 의미도 모르는 이 데이터들을 어떻게 처리해야 할지 고민을 했습니다. 그래서 그냥 단순하게 데이터마다 하나씩 column을 지정해서 값을 정리하기로 했습니다. (Group_A의 256개의 값들을 a_0, a_1, a_2 ... 이런 방식으로) In [12] : characters = "[] " for x in .. 머신러닝 & 딥러닝/데이터 분석 2021. 11. 4.
데이터프레임 - 그룹화된 데이터 열(column) 가공하기(1) : .json_loads() && .from_dict() 준비 교내 경진대회를 진행하면서, 그룹화된 데이터를 다루게 되었는데 진행했던 과정들을 차례대로 포스팅 해보겠습니다. 공부를 하고 있는 입장에서, 더 좋은 방법을 알려주시면 대단히 감사합니다. ㅎㅎ .csv 파일이 30MB의 크기 정도여서, 반디집으로 분할 압축하여 올렸습니다. 엑셀로 파일을 열어 보시면, 위의 사진과 같은 형태의 데이터입니다. 자세한 내용들은 구현을 하면서 살펴보도록 하겠습니다. 주피터 노트북으로 구현 In [1] : import numpy as np import pandas as pd import json - 데이터를 불러오기에 앞서 필요한 라이브러리를 불러옵니다. (numpy, pandas, json) In [2] : train_df = pd.read_csv("train.csv", e.. 머신러닝 & 딥러닝/데이터 분석 2021. 11. 2.