본문 바로가기

Programmer Jinyo

(57)
추천 알고리즘 공부에 있어서 알아둬야 할 것들 정리. Terms http://hoondongkim.blogspot.com/2019/03/recommendation-trend.html (https://ratsgo.github.io/machine%20learning/2017/04/08/apriori/ 참고함) 임의의 규칙을 만들어 낸다고 하자. 어떤 아이템 A를 산 사람이 B를 살 확률 같은 것을 만들어 낸다고 할 때, 그 규칙이 어떤 것이든지 다음의 지도(support), 신뢰도(confidence), 향상도(lift) 라는 세 가지 지표가 중요하다. 지지도 : A가 일어났을 때 B가 일어났다면 (A->B) 위의 가정을 얼마만큼 중요한 지표로(?) 생각해야 하는가? 에 대한 지표. support(A) = P(A) 라고 한다. 신뢰도 : A와 B의 연관성에 대..
함수형 프로그래밍 공부 개인 노트 함수형 프로그래밍을 할 때 필요한 개념 1급 객체 or 1급 함수 - 변수나 데이터 구조 안에 담을 수 있음 - 파라미터로 전달할 수 있음 - return value로 사용할 수 있음 - 할당에 사용된 이름과 관계없이 고유한 구별이 가능 - 동적으로 프로퍼티 할당이 가능 High-Order Function (고차함수, 고계함수) - 함수에 함수를 파라미터로 전달할 수 있다. - 함수의 반환값으로 함수를 사용할 수 있다. (1급 함수의 부분집합) 불변성 (Immutablility) - 데이터가 변할 수 없다. - 데이터 변경이 필요한 경우 원본 데이터 구조를 변경하지 않고 그 데이터를 복사본을 만들어 그 일부를 변경하고 변경한 복사본을 사용해 작업을 진행함. Pure function (순수 함수) - 동일..
Heroku 서버 Collaborators 추가 / 소유권 이전 하는 법 헤로쿠 인스턴스를 올린 후, 내가 관리하고 싶지 않거나 팀 계정 등으로 소유권을 이전하여야 할 때는 다음과 같이 하면 된다. 우선 앱의 대시보드로 가서 메인에 있는 아래 사진과 같은 부분을 찾아보자. 그 후 Manage Access 를 누르면 아래와 같은 창이 뜬다. 위 동그라미 친 버튼을 눌러 Collaborator을 추가할 수 있다. * 소유권 이전의 경우에도 콜라보레이터로 우선 먼저 추가 해 줘야 한다. 그리고 세팅으로 들어간다. 세팅은 대시보드 맨 위에 있다. 세팅으로 들어가면 아래 사진과 같은 transfer ownership 부분이 있는데, 동그라미 표시를 누르면 collaborator들의 리스트가 뜬다. 소유권을 이전 해 줄 계정을 선택하고 저장하면 해당 계정에서 소유권을 받아올 수 있게 된다.
Yolo V3 + Pytorch로 자동차 번호판 라벨링 & object detection 해보기 COCO 데이터 셋 등이 아닌 직접 모은 데이터셋으로 object detection을 진행해보자! 자동차 번호판의 숫자들을 한번 맞춰보도록 하자. yolo / pytorch 환경으로 진행한다. (이 글에서는 Yolo의 내용은 다루고 있지 않다. 궁금하다면2019/01/31 - [Programmer Jinyo/Machine Learning] - Yolo 논문 정리 및 Pytorch 코드 구현, 분석 01 ( You Only Look Once: Unified, Real-Time Object Detection )포스트를 참고하자. 코드 구현은 완성하지 못했지만 이론적 설명은 마친 글이다) 이미지 데이터셋 만들기 https://github.com/tzutalin/labelImg 이미지 라벨링을 도와주는 툴이다...
Yolo 논문 정리 및 Pytorch 코드 구현, 분석 02 ( You Only Look Once: Unified, Real-Time Object Detection ) 2019/01/31 - [Programmer Jinyo/Machine Learning] - Yolo 논문 정리 및 Pytorch 코드 구현, 분석 01 ( You Only Look Once: Unified, Real-Time Object Detection ) 이 포스트는 위 포스트에서 이어지는 글이다. 이제 본격적으로 darknet 의 class를 정의 해 보자. 이전 글에서 언급했듯, 우리는 nn.Module class를 이용하여 PyTorch에서 custom architectures를 만든다. darknet.py에 아래의 class를 추가하자. class Darknet(nn.Module): def __init__(self, cfgfile): super(Darknet, self).__init__() s..
Yolo 논문 정리 및 Pytorch 코드 구현, 분석 01 ( You Only Look Once: Unified, Real-Time Object Detection ) Yolo 논문을 공부해야 할 일이 생겨서, 공부 하는 김에 내용과 코드 정리까지 하자는 성실한 마음으로 이 글을 쓰기 시작하기로 했다. * 유감스럽게도 이 글은 아직 완성되지 못했습니다... 배경 Object Detection이란 머신러닝에서 한 사진 안에 어떤 물체들이 등장하는지에 대한 것을 판별해주는 Task를 말한다. 그리고 Yolo는 Object Detection을 보다 효율적으로 수행하는 방법을 소개한다. 이 글은 전반적인 YOLO 논문에서 다루는 내용을 그대로 번역(....) 수준으로 적어낼 것이므로 다른 정리된 글들보다는 다 읽은 후 명확한 이해를 할 수 있게 되길 기대한다. Yolo는 기존의 방법들과 달리 Object detection을 이미지 픽셀 좌표에 대응되는 bounding box을..
Vue + NativeScript 네이티브 앱 만들기 설명 참고 링크들 Basic 공식 docs https://nativescript-vue.org/ko/docs/introduction/ 앱 띄워보기 튜토리얼 http://vuejs.kr/vue/nativescript/2017/08/11/introduce-vue-nativescript-01/ Styling 네이티브 스크립트에 스타일링 하는 법 https://docs.nativescript.org/ui/styling#user-interface-styling Local Storage sqlite 사용 방법 (영어) (Vuex와 같이 깔쌈하게 사용하는 방법을 정리 해 두었다) https://www.nativescript.org/blog/data-management-with-sqlite-and-vuex-in-a-nativescrip..
t-SNE(t-distributed stochastic neighbor embedding) 설명 t SNE는 High Dimension Data (고 차원의 데이터) 를 Low Dimension Data (저 차원의 데이터) 로 거리 관계를 유지하며 임베딩 시키는 알고리즘이다. 임베딩(Embedding) 고차원을 저차원으로 임베딩한다는 것에 관련하여 쉽게 설명을 하자면, 3차원상에 있는 점들을 2차원에 그릴 때, 먼 곳은 멀게, 가까운 곳은 가깝게 표현하는 행위를 의미한다. 그리고 차원을 줄이면서 거리관계를 완벽히 유지하는것은 불가능 하기 때문에 여러 임베딩을 하기 위한 알고리즘들이 만들어졌다. 지구의 모양이 3d인데 지도를 2d 상에 그리려다 보니 북극과 남극이 실 척도보다 크게 그려졌다는 것을 예로 들면 더 쉬울 것이다. 우리의 목표는 50차원, 혹은 그 이상의 데이터들에서도 데이터들간의 상관관..