목록분류 전체보기 (52)
내가 보려고 만든 블로그
어쩌다 웹만들어야 할 일이 생겼는데 fastapi 이용해서 백단 만드는 것은 얼추 알겠는데. 화면만드는 법을 전혀 몰라서 만들어야 할 것에 있는 html태그들좀 간단하게 정리해보았다. 1. 문서형식 html이라고 선언하는 부분. 이게 없으면 브라우저들이 제각각으로 랜더링한다고 한다. 2. 문서에 대한 메타정보 ,css 적용, 인코딩방식, 그리고 title 등을 적용하는 곳 . 2- 1 . 외부 소스와의 관계를 정의할때 쓰인다고한다. 헤드 태그안에만 들어갈 수 있으며 주로 외부 css 입힐때 쓰는 가 봄. 링크 태그안에는 rel , href , integrity , crossorigin이 있는데 rel : 외부소스와 어떤관계인지를 정의 href : 외부 리소스의 url integrity: sha로 인코딩된..
베이지안 프로그래밍을 지원해주는 파이썬 라이브러리로 대표적인게 PYMC3 가 있다. 하지만 비교적 최근에 uber에서 (uber아닐수도있음) 확률적 프로그래밍을 해주는 라이브러리 Pyro를 공개했다. 장점은 pytorch 기반으로 만들어져 있어 pymc에 비해 빠르다. 단점은 참고할만한 공부자료가 거의 없다... 그나마 공식문서가 잘되있긴한데 모르는게 여전히 많다. pyro 공식문서에서 예제로 베이지안리그레션을 바탕으로 pyro를 쓰는 방법을 설명하여 이참에 베이지안 리그레션과 pyro를 간단히 정리한다. Bayesian Regression 베이지안 리그레션과 기존의 리그레션의 차이라고 한다면 기존 W_0 , W_1 등의 파라미터를 고정된 값이 아니라 확률변수로 본다는 점이 있을 것이다 . 사후분포를 P..
Auto Encoder Auto Encoder 느 input을 output이 모방하도록, input = output이 되도록 학습시키는 방법이다. 똑같은 output을 만들어내는 과정에서 학습된 latent vector를 사용하는 것으로. MF와 매우 유사하지만 비선형적으로 latent vector를 학습시키는 방법이라고 볼 수 있다. 추천에서는 user가 Item들에 대해 보인 implicit 정보를 다시 그대로 복원하도록 하는 방식으로 학습을 시킨다. CDAE ( Collaborative Denoising Autoencoder) 기존 autoencoder 모델과 같이 input을 그대로 복원하는 모델이나 의도적으로 input에 noise를 추가하는 방식이다. 예를 들어 , input = [1,0,0,..
이전 포스팅까지는 User X Item 간의 interaction 을 바탕으로 어떠한 latent matrix 혹은 latent vector를 얻는 방식으로 추천을 하는 방법에 대하여 주로 다루웠다. 하지만 추천을 함에 있어 interaction만을 고려한 방법 외 에 기존에 머신러닝모델에서 많이 사용하던 형태로 예를 들어 , ( 성별 , 국가 , 연령대 ) 등을 정보로 넣어 추천을 해줄 수 도 있을 것이다 . 모델을 4개나 다루기 때문에 하나의 포스팅에서 설명하기엔 조금 복잡하지만 각각의 모델이 다른 모델을 바탕으로 발전해 나간 모델이기 때문에 한번에 적는게 흐름상 좋을 것 같다고 생각하였다. 모델 구현 같은 경우에는 MF와 DeepMF을 다른 분 들이 구현한 것을 참고로 작성하였는데 다른 분들이 MF..
기계번역, 언어 생성 등에 별로 관심이 있지는 않은데 감성분석 혹은 LDA 등은 알아두면 후에 쓸 일이 많이 있을 것 같아서 간단하게 자연어처리를 공부함. 그 중에서도 워낙 유명한 모델인 트랜스포머에 대해서 사내 강의로 듣게되어 공부한내용 간단하게 정리. 나중에 다시 찾아왓을때 기억날 정도로만 적어둠. torch.nn.transformer 토치에는 트랜스포머가 이미 구현이 되있음. 주의해야 할 것은 인코더와 디코더부분까지여서 마지막 부분에 선형 + softmax부분 넣어주면 된다 . self.transformer = nn.Transformer(d_model=emb_size, # 임베딩 size . nhead=nhead, # 어텐션의 헤드 수 # freeze= True 써도 됨 걍 . num_encoder..
Django나 플라스크 없이 간단하게 api 서버를 만드는 법 정리. 먼저, 정적 웹서버를 띄우는법은 http.server 클래스를 이용하면 됨. python3 -m http.server {PORT번호} 와 같은 형식으로 쉘에서 실행해주면 다음과 같이 index.html 혹은 index.hml 파일을 디렉토리내에서 찾아서 html파일을 리턴하게 된다. 만일 index.html 파일이 없을 경우 커맨드를 실행한 디렉토리의 파일들을 보여주게 됨. 다음으로 특정 엔드포인트 (test) 에 접근했을때 test.htm (파일) 을 리턴하도록 만들어 볼 것이다. server.py라는 파일을 다음과 같이 작성하고. 같은 디렉토리내에 test.html 을 자유롭게 만들어주면 된다. import http.server i..