반응형

2024/02 26

파이썬 기초 3 - 리스트, 튜플, 딕셔너리

리스트 == 목록 각각의 요소들은 ,로 구분! -> [ 1,2,3,4,5] index는 어디가든 코딩에서 자주 나오는 단어이므로 느낌을 확실하게 가져가야 한다. 파이썬에서 인덱스의 시작은 0이다. 대부분은 0으로 시작하지만 matlab은 1부터 시작한다. a= [1,2,3,4,5] print(a[0]) # 1이 출력된다. print(a) 코드는 이렇게 작성할 수 있고, 여러 개의 데이터를 저장하고 사용하고 싶을 때 사용하면 된다. a= 1 b= 2 c= 3 d= 4 e= 5 f = a+b+c+d+e print(f) 이런 반복적인 과정에서 리스트는 효율적이다! a = [0,0,0,0,0] b = 0 for i in range(0,5,1): a[i] = int(input()) b = b + a[i] # b+..

파이썬 기초 - 조건문, 반복문

a = 3 if (a == 3): print('a는 3 입니다') 여기선 프린트 안의 문장이 출력됩니다. 들여쓰기가 중요합니다! 저도 굉장히 많이 사용하는 구조입니다. if의 조건이 단순하고 나머지도 처리를 해줘야 할때 자주 사용합니다. a = int(input('정수 입력 : ')) if a < 100 : print(f'{a}는 100 보다 작습니다.') else : print(f'{a}는 100 보다 크거나 같습니다.') 내가 입력한 숫자에 따라 조건문이 되겠죠? a = int(input('정수 입력 : ')) if a < 100 : print(f'{a}는 100 보다 작습니다.') elif a == 100: print(f'{a}는 100 입니다.') else : print(f'{a}는 100 보다 ..

자연어 처리 - N Gram language modeling

2024.02.15 - [인공지능/자연어 처리] - 자연어 처리 - Autoregressive language modeling 제곱 크기 만큼의 숫자가 생긴다. 공간, 용량이 과하게 필요하게 된다. == 비용!!!! 가정을 주어서 토큰을 완화시킨다. (원래는 같지 않지만)이전타임을 다 쓰지 않아도 직전만 사용해도 유사할 것이라고 가정하는 것이다. 확률과 카운트는 비례하기 때문에 하나만 알아도 됨! P(날씨|오늘) = 0.166/0.333 = 0.166/(0.166 + 0.111 + 0.055) P(날씨|오늘) = 3/(3+1+2) 하나가 0이라면 전체가 0이 되는 문제가 생긴다. adam optimizer에서도 본 경우다! 2023.12.16 - [인공지능/공부] - 인공지능 backpropagation..

자연어 처리 - Autoregressive language modeling

"오늘 날씨 어때"가 3번 나왔으므로 30프로가 나온다. 한 글자만 다르더라도 다른 문장으로 판단한다. 조건부 확률을 활용하여 좀 더 짧은 문장에 대한 확률도 구할 수 있게 된다. P(오늘)P(날씨|오늘) 이렇게 볼 수 있다. 가장 높은 확률을 고른 후 이어 붙이고, 계속 확률 높은 것을 이어 붙인 다음에 끝내면 된다. 문장 분류도 두 문장 중 가장 높은 확률을 구하는 것이다.

자연어 처리 - 문장의 그럴듯함을 측정하는 방법

문장은 문법이 있기 때문에 단어의 나열로는 불가능하다. 컴퓨터는 문장의 그럴듯함을 확률을 통해 수치화한다. 자동 완성 - 오늘이라는 토큰이 주어졌을 때 어떤 단어가 나올지 확률을 안다면 이어 붙여 주면 된다. 오타 교정 - 어떤 문장이 주어졌을 때 확률이 낮은 단어나 조사를 높은 확률의 토큰으로 추천해준다. 모든 것이 낮은 확률을 -> 높은 확률로 변하거나 가장 높은 확률을 선택하는 것이다. 언어 모델 자체는 비지도 학습이다. 인풋을 그대로 다음을 예측하도록 하기 때문! RNN...?

자연어 처리 -CNN을 사용한 실습, self- attention 실습

import matplotlib.pyplot as plt plt.rc('font', family='NanumBarunGothic') from google.colab import drive drive.mount('/content/drive') base_path = "./drive/MyDrive/fastcampus/practice" import pandas as pd df = pd.read_csv(f"{base_path}/data/nsmc/ratings_train.txt", sep='\t') # pos, neg 비율 df['label'].value_counts() # missing doc sum(df['document'].isnull()) df = df[~df['document'].isnull()] sum(..

파이썬 기초1 - 입출력, 자료형, 함수

문자를 출력할 경우 print('안녕하세요')를 작성하면 안녕하세요 가 나오게 된다. 숫자는 print(3.51)를 작성하면 3.51 이 출력된다. 파이썬은 쎄미콜론 ';'를 사용하여 프린트를 구분할 수 있다. print('aaaa');print('bbbb')를 하게되면 aaaa bbbb 로 출력된다. print('aaa', end = ' ')로 출력하게 되면 프린트 마지막의 엔터 출력이 사라지게 된다. print('aaaa\nbbbb')를 출력하게 되면 aaaa bbbb 가 출력되게 하는 개행문자(엔터) 이다. a = 3 print(a) 출력은 3이 나오게 된다. 변수이름은 편한것으로 하면 되지만 의미 있는 것으로 하면 좋다. a = input('입력하세요') print(a) print(type(a))..

파이썬 개발 환경 구축

프로그래밍 = "미리쓴다"라는 라틴어에서 유래된 용어, 컴퓨터를 동작시키기 위해 순차적으로 작성된 명령어 모음 프로그래밍 언어 = 컴퓨터 프로그램을 만들 때 사용하는 언어 - ex) python, c, c++, java..... 파이썬을 사용하는 이유 = 쉽고 간단한 문법 -> 배우기 쉬움, 오픈소스 == 무료 여러 프로그램 제작 가능 ex) GUI, 웹 사이트, IOT(사물 인터넷), AI, 해킹 도구 개발 환경 설치 : 파이썬 설치하러 가 봅시다 저는 이런 블로그에서 직접 주는 웹사이트를 들어가기 싫어해서,,,, Python검색하고 들어가서 공식 홈피에서 다운받으시면 됩니다. 설치 후 윈도우 키를 누른다음에 cmd를 검색하셔서 cmd로 들어가시고 python을 치고 엔터를 누르면! 이렇게 나올 겁니다..

자연어 처리 - CBOW 실습

이전까지 이해가 안되었던 부분이기 때문에 실습을 잘 보도록... 하겠습니다... 긍정 부정의 비율도 1대 1이었다. 비어있는 5개는 제거했다. 첫번째 줄은 띄어쓰기 기준으로 토큰을 나누는 것이다. 유니크한 토큰들이 약 36만개가 나온다 -> 토큰 임베딩 테이블의 크기가 너무 커진다. 많이 사용되는 단어들을 남김으로 써 중요도를 따질 수 있다. 많이 나온 순서대로 정렬한다. 평균적으로 3번 나온다. 3개이상은 42635개이므로 이정도면 판단할 수 있다고 생각할 수 있다. 우리가 30만개의 단어를 무엇인지도 모르게 사용하게 된다. -> UNK 사각형 모향을 맞추기 위한 -> PAD 문장 하나를 받으면 숫자로 바꿔주는 것을 만든다. 맥스패딩이 50개까지면 충문하다. 그럼 이렇게 된다. 빈 부분은 전부 패딩으로..

728x90
728x90