전체 글 47

R-CNN (Rich feature hierarchies for accurate object detection and semantic segmentation)

Comments : CVPR 2014 Ross Girshick et al. 논문 링크 : https://arxiv.org/abs/1311.2524 Abstract 이미지 내 객체를 localize 하기 위해 CNN을 도입, bottom-up 형식으로 region proposal 추출함 labeled data의 부족으로, 다른 대규모 데이터셋에 pre-training 및 특정 데이터셋에 fine-tuning 했더니 성능이 좋더라... (supervised pre-training / domain-specific fine-tuning) Conclusion R-CNN은 Simple하고 scalable object detection-algorithm이다. Introduction Object detection 분야..

paper review 2022.01.26

Django (4)

1. 애플리케이션 개발하기 - View & Template 코딩 polls 애플리케이션은 질문 리스트, 하나의 질문에 대한 선택지, 결과 페이지의 총 3개의 페이지를 가지고 있다. 즉, 이 3개의 페이지를 시각적으로 보여주기 위해 필요한 View와 Template를 코딩할 차례이다. 앞서 Model 코딩을 통해 테이블을 설계하였으니, 이번에는 클라이언트의 요청에서부터 응답까지의 처리 흐름에 대한 로직을 설계해야 한다. 다음과 같이 4개의 URL과 뷰가 필요하다고 판단하고 설계한다. (물론, 이게 정답은 아니다.) View는 URL과 1:1 관계로 매핑된다. (N : 1 도 가능함) --> (URL / View 매핑 = URLConf) // urls.py에 작성한다. 1.1 URLconf 코딩 (뷰 URL..

파이썬-장고 2021.07.11

자바스크립트란?

1. 프로그래밍 언어 소프트웨어의 동작(알고리즘)을 설명하기 위한 언어 이러한 언어로 프로그램을 개발하는 행위를 프로그래밍 프로그래밍 언어로 작성한 프로그램을 소스 코드(=코드) 2. 컴파일 언어 & 인터프리터 언어 컴파일 : 소스 코드를 기계어로 번역하는 행위 컴파일러 : 컴파일을 수행하는 소프트웨어 컴파일 언어 : 소스 코드 여러 개를 묶어서 한 번에 컴파일한 후 실행하는 프로그래밍 언어 (C, C++, JAVA, Objective C 등) 특징 : 컴파일하는데 시간이 걸리지만 실행 속도는 빠르다. 인터프리터 언어 : 한 줄마다 기계어로 번역 및 실행하는 프로그래밍 언어 (자바 스크립트, LISP, Perl, Ruby, Python 등) 인터프리터 : 프로그램을 번역해서 실행시키는 소프트웨어 특징 :..

자바스크립트 2021.07.07

Django (3)

애플리케이션 개발하기 1.1 Model 코딩 Model 작업이란 데이터베이스 테이블을 생성하는 작업이다. 내가 만들 프로젝트는 설문을 진행하고 결과를 보여주는 기능을 가지고 있기 때문에 이전 포스팅에서 설계한 것처럼 Question과 Choice 테이블을 가지고 있는 polls 애플리케이션을 설계해야 한다. polls 애플리케이션 하위 항목인 models.py를 다음과 같이 수정한다. from django.db import models # Create your models here. #장고에서는 데이터 테이블을 하나의 클래스로 맵핑한다. #Question table = Question class class Question(models.Model): #테이블 클래스는 django.db.models.Mode..

파이썬-장고 2021.07.07

Django (2)

설문에 해당하는 질문을 보여준 후 질문에 포함되어 있는 답변 항목에 투표하면 그 결과를 알려주는 예제 1. 애플리케이션 설계하기 프로젝트 : 개발 대상이 되는 전체 프로그램 애플리케이션 : 프로젝트를 몇 개의 기능 그룹으로 나누었을 때, 하위 서브 프로그램 개발 요구사항 분석 및 개발 페이지 설계 요구사항에 따라 필요한 테이블 추출 및 설계 1. Question 테이블 설계 컬럼명 타입 제약 조건 설명 id integer NotNull, PK, Autoincrement Primary Key question_text varchar(200) NotNull 질문 문장 pub_date datetime NotNull 질문 생성 시각 2. Choice 테이블 설계 컬럼명 타입 제약 조건 설명 id integer N..

파이썬-장고 2021.07.07

Django (1)

1. Django의 일반적인 특징 MVC 패턴 기반 MVT (Model-View-Template) MVC (Model-View-Controller) 기반의 프레임워크 장고에서 View -> Template // Controller -> View 장고에서 Model은 데이터베이스에 액세스하는 컴포넌트 장고에서 View는 데이터를 가져오고 변형하는 컴포넌트 장고에서 Template는 데이터를 사용자에게 보여주는 컴포넌트 객체 관계 매핑 (ORM, Object-Relational Mapping) '데이터베이스 시스템' 파이썬 클래스의 '모델' 연결 ORM -> SQL 문장 불필요 자동으로 구성되는 관리자 화면 기본 기능으로 제공 (관리 기능) 세련된 URL 설계 정규표현식 활용, 직관적이고 쉬운 URL 설계 ..

파이썬-장고 2021.07.07

파이썬 웹 표준 라이브러리

urllib 패키지 웹 클라이언트를 작성하는 데 필요한 모듈 http서버뿐만 아니라 FTP 서버 및 로컬 파일 등을 처리하는데 공통적으로 필요한 함수와 클래스 제공 주로 URL 처리와 서버 액세스 관련 API 제공 http.client 모듈의 API를 한 번 더 추상화하여 조금 더 쉬운 고수준의 API 제공 http 패키지 서버용 & 클라이언트용 라이브러리로 구성 웹 서버 프로그래밍(Web Framework) 웹 프레임워크, 사용자 프로그램과 저수준의 http.server 라이브러리 중간에 위치하여 개발 지원 (+확장) 웹 클라이언트 라이브러리 = 웹 서버에 요청을 보내는 모든 애플리케이션 ( =웹 클라이언트) urllib.parse 모듈 URL의 분해, 조립, 변경 및 URL 문자 인코딩, 디코딩 처리..

파이썬-장고 2021.07.03

앙상블 & 랜덤 포레스트 2

에이다 부스트 이전 예측기를 보완하는 새로운 예측기를 만드는 방법 이전 모델이 과소적합했던 훈련 샘플의 가중치를 더 높이는 것 --> 학습에 어려운 샘플에 맞춰짐 에이다 부스트 알고리즘 에이다부스트의 원리에 대해서 자세히 살펴보자. 1. 각 샘플의 가중치 w-(i) 는 초기에 1/m 으로 초기화된다. 2. 초기화된 가중치로 첫 번째 예측기가 학습되고, 가중치가 적용된 에러율 r1이 훈련 세트에 대해서 계산된다. 는 i 번째 샘플에 대한 j 번째 예측기의 예측 3. 위에서 구한 에러율 r_j를 활용해 예측기의 가중치 α_j 가 계산된다. 공식은 아래와 같다. (η는 기본값이 1인 학습률 파라미터이다.) 에러율 r가 0.5에 가까워질수록 (1-r)/r ≒ 1, 즉 log 1 = 0 이 되므로 예측기가 0에 ..

웹 프로그래밍의 이해

웹 프로그래밍 HTTP(S) 프로토콜로 통신하는 클라이언트와 서버를 개발하는 것 클라이언트(IE, Chrome, FireFox,,,)가 요청하고 서버(네이버 서버,,,)가 응답하는 클라이언트 - 서버 프로그램 동작 다양한 웹 클라이언트 웹 브라우저 1. 웹 브라우저는 주소창에 입력된 문장을 해석하여 웹 서버에 HTTP 요청을 보내는 웹 클라이언트의 역할 수행 2. 요청을 받은 www.example.com 도메인의 웹 서버는 그 결과를 웹 브라우저로 전송 3. 웹 브라우저는 전송받은 결과를 사용자가 볼 수 있도록 HTML 텍스트 해석하여 출력 리눅스 curl 명령 HTTP/HTTPS/FTP 등 여러 가지의 프로토콜을 사용하여 데이터를 송수신할 수 있는 명령어 curl 명령은 인자로 넘어온 URL로 HTTP..

파이썬-장고 2021.06.21

앙상블 학습 & 랜덤 포레스트

앙상블 학습 일련의 모델들(=앙상블)로부터 결괏값들을 수집 및 활용하여 최적의 결괏값을 도출하는 방법 (=앙상블 학습) 예를 들어, 일련의 결정 트리들로부터 최적의 결괏값을 찾아내는 방법을 랜덤 포레스트라고 함 투표 기반 분류기 정확도가 괜찮은 분류기 여러 개를 훈련시켜서 가장 많이 선택된 클래스를 예측 (= 다수결 투표, 직접 투표 분류기) 약한 학습기 여러 개를 훈련시켜 예측하면 이는 강한 학습기와 같은 성능을 냄 (= 큰 수의 법칙) 단, 각 학습기들끼리는 가능한 한 서로 독립의 관계(오차에 상관관계가 없어야 함)를 만족해야 최적의 성능을 냄 다음은 여러 분류기를 조합하여 사이킷런의 투표 기반 분류기를 만들고 훈련시키는 예제임. (moons dataset) from sklearn.ensemble i..