목록파이썬 (41)
개발자의 스터디 노트
1. 퍼셉트론 : 가장 간단한 신경망 - 가장 간단한 신경망으로 생물학적 뉴런을 대략 본떠 만들었습니다. - 퍼셉트론 유닛에는 입력(x), 출력(y)과 3개의 다이얼이 있습니다. 가중치(w), 절편(b), 활성화 함수(f)입니다. 가중치와 절편은 데이터에서 학습됩니다. 활성화 함수(activation function)는 신경망과 타깃 출력을 기반으로 설계자의 직관에 따라 결정됩니다. 수학적으로 표현하면 아래와 같습니다. y = f(w * x + b) 일반적으로 퍼셉트론에는 입력을 하나 이상 사용합니다. 이런 일반적인 상황을 벡터로 표현할 수 있습니다. 즉 x와 w는 벡터이고 x와 w의 곱셈은 점 곱으로 바뀝니다. y=f(wx + b) f로 표시한 활성화 함수는 일반적으로 비선형 함수입니다. 선형 함수는 ..
row_indices = torch.arange(2).long() col_indices = torch.LongTensor([0,1]) describe(x[row_indices, col_indices]) 타입: torch.LongTensor 크기: torch.Size([2]) 값: tensor([0, 4]) 1. 텐서의 속성을 볼 수 있는 함수를 선언합니다. ## 헬퍼함수 describe(x)를 정의 def describe(x): print("타입: {}".format(x.type())) print("크기: {}".format(x.shape)) print("값: \n{}".format(x)) 2. 텐서를 생성하여 값을 공유하는 텐서 x를 만들어 봅시다. import torch x = torch.arange..
1. 헬퍼 함수 describe(x)를 정의합니다. ## 헬퍼함수 describe(x)를 정의 def describe(x): print("타입: {}".format(x.type())) print("크기: {}".format(x.shape)) print("값: \n{}".format(x)) 2. 2행 3열의 랜던 텐서 생성 import torch x = torch.randn(2,3) describe(x) 타입: torch.FloatTensor 크기: torch.Size([2, 3]) 값: tensor([[ 0.5902, 0.9407, 0.3684], [-2.2278, -1.0045, -0.2298]]) 3. 텐서 x를 더해봅시다. # add함수를 이용하여 텐서 더하기 describe(torch.add(x,..
텐서를 만들어 봅니다. 1. 텐서의 속성을 볼 수 있는 함수를 선언합니다. ## 헬퍼함수 describe(x)를 정의 def describe(x): print("타입: {}".format(x.type())) print("크기: {}".format(x.shape)) print("값: \n{}".format(x)) 2. 기본적인 텐서 생성 ### 기본적인 텐서 생성 import torch describe(torch.Tensor(2,3)) 타입: torch.FloatTensor 크기: torch.Size([2, 3]) 값: tensor([[0., 0., 0.], [0., 0., 0.]]) 3. 랜덤 값을 가진 텐서 생성 ### 랜덤 텐서 생성 describe(torch.rand(2,3)) # 균등분포 desc..
1. 원-핫 표현 - 0 벡터에서 시작해 문장이나 문서에 등장하는 단어에 상응하는 원소를 1로 설정합니다. 아래 두문장을 예로 들면, Time flies like an arrow. Fruit flies like a banana. 각 문장을 토큰(token)으로 나누고 구두점을 무시한 다음 모두 소문자로 바꾸면 어휘 사전(vocabulary)이 되고 어휘 사전의 크기는 다음과 같이 8이 됩니다. {time, fruit, flies, like, a, an, arrow, banana} 따라서 각 단어를 8차원 원-핫 벡터로 표현할 수 있습니다. 구, 문장, 문서의 원-핫 벡터는 이를 구성하는 단어의 원-핫 표현을 단순하게 논리합(logical OR)한 것입니다. 위 표를 참고하여 like a banana의 이..
머신러닝에서 지도 또는 지도학습은 샘플에 대응하는 타깃(예측하는 값)의 정답을 제공하는 방식을 말합니다. 지도학습을 그림으로 그리면 아래 와 같습니다. 샘플 - 샘플은 예측에 사용하는 아이템입니다. 샘플은 x로 표시합니다. 샘플을 입력(input)이라고 부릅니다. 타깃 - 타깃은 샘플에 상응하는 레이블(label)입니다. 일반적으로 예측되는 대상이니다. 머신러닝/딥러닝의 표준적인 표기법에 따라 y로 나타냅니다. 레이블을 정답이라고 부릅니다. 모델 - 모델(model)은 수학식이나 샘플 x를 받아 타깃 레이블값을 예측하는 함수입니다. 파라미터 - 파라미터는 가중치(weight)라고도 부릅니다. 파라미터가 모델을 규정합니다. 기본적으로 가중치를 의미하는 w 또는 w^ 을 사용합니다. 손실함수 - 손실 함수는..
아나콘다도 설치했고, 가상 환경도 만들었고, 주피터 노트북도 설치하여 실습 환경은 만들어졌습니다. 자연어 처리를 위해 인공지능 딥러닝 프레임워크가 몇 종류 있습니다만, 딥러닝 프레임 워크 비교 https://hongong.hanbit.co.kr/%EB%94%A5%EB%9F%AC%EB%8B%9D-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EB%B9%84%EA%B5%90-%ED%85%90%EC%84%9C%ED%94%8C%EB%A1%9C-%EC%BC%80%EB%9D%BC%EC%8A%A4-%ED%8C%8C%EC%9D%B4%ED%86%A0%EC%B9%98/ 딥러닝 프레임워크 비교(텐서플로 VS 케라스 VS 파이토치) : 표로 한눈에! 현재 소개된 딥러닝 프레임워크들은 각각..
아나콘다 설치가 완료되었으면 가상 환경을 생성하고 Jupyter NoteBook를 설치해 봅시다. Jupyter NoteBook 란? 오픈소스 기반의 웹 애플리케이션으로, 파이썬을 비롯한 40여 개의 프로그래밍 언어로 코드를 작성하고 실행하는 개발 환경을 제공합니다. 1. 아나콘다 가상환경 생성 conda create -n [가상환경이름] python=[python 버전] study란 이름의 가상환경을 python 3.6 버전으로 생성해 봅시다. conda create -n study ptyhon=3.6 2. 아나콘다 가상환경 리스트 가상 환경을 생성하였으면 가상 환경 리스트를 확인해 봅시다. conda env list 또는 conda info --envs 3. 아나콘다 가상환경 삭제 conda remo..