전체 글 708

단어를 표현하는 방법. 원핫벡터와 워드임베딩

단어를 분석하기 위해선 문자를 정형데이터로 바꿔야 한다. 이때 사용하는 기법이 원핫벡터와 워드임베딩 1. 원핫벡터문서에 나오는 모든 단어들(코퍼스)의 개수만큼 차원을 가지고, 해당단어만 1, 나머지는 0을 갖는 행렬로 표현ex) 나는 강아지를 좋아한다.  나는강아지를좋아한다나는100강아지를010좋아한다001나는 => [1,0,0]강아지를 => [0,1,0]좋아한다 => [0,0,1]* 하지만 문서의 양이 커지고, 단어의 수가 많아지면 차원이 너무 커지는 문제점이있다. 따라서 워드 임베딩을 통해표현한다희소표현(원핫벡터) -> 분산표현(워드임베딩)   2. 워드임베딩(1) 인풋단어 원핫인코딩 (2) 임베딩(첫번째 가중치 곱하기) (3) 인베딩한단어(벡터)들의 평균구하기  (4) 평균벡터를 두번째 가중치로 곱..

문자열 함수 (숫자,공백,문자 확인하기)

sen=input("문자열을 입력하시오: ") d={'digit':0, 'space':0, 'alpha':0} for i in sen: if i.isalpha(): #모두 문자이면 true d['alpha']+=1 elif i.isdigit(): #모두 숫자이면 true d['digit']+=1 else: #공백이면 true d['space']+=1 print(d) i가 문자열타입일때 i.isalpha() => i가 모두 문자이면 true i.isdigit() => i가 모두 숫자이면 true i.isspace() => i가 모두 공백이면 true

[백준]6086 최대유량 #최대유량#에드몬드_카프#파이썬

1. 풀이 최대유량을 구해주기 위해선, 시점부터 종점까지 (1)가능한 경로와 경로상의 최소 유량 찾기, (2)현재상태를 업데이트 하는 과정을 더이상 가능한 경로가 없을 때 까지 해주면 된다. 각각의 과정에 대한 구체적인 설명은 다음과 같다. (1) 가능한 경로와 그때의 유량 찾기 - bfs 경로를 찾을 때는 bfs로 탐색을 한다. 이때 한번 탐색한 노드는 다시 탐색하지 않기 위해 (흔히 bfs문제를 풀 때 하는) visited노드로 관리를 해줘야 한다. 이때 단순히 방문하면 1, 그렇지 않으면 0으로 하는게 아니라 해당 노드의 경로상의 직전의 노드를 저장해놓는다 (그래서 이름도 visited가 아니라 prev로 한다). 왜냐하면 (2)현재상태를 업데이트 에서 경로를 따라가며 상태를 업데이트 해야 하기 때..

알고리즘/graph 2020.08.23

batch 사이즈에 따른 학습 형태

batch사이즈가 작을수록 데이터 하나하나의 값을 잘 반영하지만, 많이 돌아간다.반면 batch사이즈가 클 수록 여러가지 데이터가 평균을 잘 반영하기 때문에 global minimum을 향해 잘 간다.그리고 batch 사이즈가 클 수록 다양한 데이터들로 cost function을 구성하기 때문에 우리가 원하는 둥근 밥그릇 모양이 만들어 진다. 1. batch size=2 (2개의 데이터로 cost function이 만들어진것) 2. batch size = 4 3. batch size = 32 (보통 데이터를 학습할 때 batch size는 32가 적절하다) * 출처 : 패스트캠퍼스 수학적으로 접근하는 딥러닝 올인원 패키지 Online.

collections 패키지의 Counter함수를 이용한 빈도 확인

1. 설명 리스트를 입력했을 때 빈도를 측정해주는 함수이다. 다음과 같은 word 리스트가 있다고 하자. ['존경', '국민', '여러분', '경자년庚子年', '독립운동', '임시정부', '수립', '년', '해', '올해', '혁명', '주년', '민주화운동', '주년', '년', '전', '촛불', '민주공화국', '숭고', '정신', '정의', '안전', '평화', '행복', '나라다운', '나라', '국민', '준엄한', '명령', '우리', '정부', '과감', '변화', '선택', '경제', '사회', '구조', '근본적', '변화', '개혁', '우리', '사회', '만연한', '반칙', '특권', '청산', '불평등', '양극화', '극복', '노력'] 아래와 같은 코드를 이용하여 coun..

학습용 데이터의 평균에 따른 cost function의 모양

1. 데이터의 평균이 0에 가까울때데이터의 평균이 0에 가까울 수록 cost function의 모양이 둥근 밥그릇 모양이 된다. 2. 데이터의 평균이 0에 가깝지 않을때데이터의 평균 값이 커질 수록 cost function이 좀 더 뾰족한 모양이 된다. 따라서 학습도 ⍬_1에 대해서만 많이 수행된다 (⍬_1을 미분한 값에 x가 포함되어 있기 때문) => 따라서 데이터를 항상 정규화(평균=0, 표준편차=1) 해준 후 학습을 진행한다.* 출처 : 수학적으로 접근하는 딥러닝 올인원 패키지 Online.

선택한 데이터의 유형에 따른 cost function의 모양

1. loss functionloss function은 데이터 하나에 대한 오차를 구하는 것이기 때문에, 이를 그래프로 나타내면 아래와 같이 여러 값(선)들이 모여있는 형태가 된다. 2. cost function반면 cost function은 데이터들을 모두 모아 평균을 낸 값이므로 등고선의 형태(밥그릇형태)로 볼 수 있다. 3. loss function과 cost function의 관계loss function 선이 고르게 분포할 수록 cost function은 둥근 모양으로 만들어 진다.  * 출처 : 패스트캠퍼스 수학적으로 접근하는 딥러닝 올인원 패키지 Online.

loss function으로 본 데이터의 평균, 분산, 노이즈에 따른 학습의 차이

1. 분산에 따른 학습의 차이데이터의 분산이 높을 때 보다 낮을 때 더 빠른 학습이 가능하다. 2. 평균에 따른 학습의 차이평균이 커질수록 파라미터의 변화율이 크다.⍬_1의 미분값에 x가 포함되어있고, x의 절댓값이 1이상일때 학습률이 높아지기 때문. 3. 노이즈에 따른 학습의 차이노이즈가 있을땐 데이터들의 계곡이 한 점에서 교차하지 않는다.따라서 학습은 아래와 같이 이루어 진다  * 출처 :수학적으로 접근하는 딥러닝 올인원 패키지 Online.