theory 15

[머신러닝 기초] 학습 유형

- 지도학습(Supervised Learning): 문제(feature)와 답(target, label)을 주면서 보정해 나감 분류: 양성/음성 등 단일값 예측 회귀: 연속값 예측 추천 시스템: A를 하면? -> B를 추천 시각, 음성 감지, 인지 - 비지도학습(Un-Supervised Learning): 답(target, label)이 없음 군집화: 비슷한 데이터 모으기 차원 축소: feature 줄이기, 함축 의미 찾기 토픽 모델링, 문서 군집화 - 강화학습(Reinforcement Learning):시행착오(Trial and Error)를 통해 학습, 보상 개념 존재 출처: [개정판] 파이썬 머신러닝 완벽 가이드 - 인프런

theory/NLP 2023.05.07

[머신러닝 기초] entropy, binary cross entropy, KL divergence

entropy 머신러닝 초기학습 진행 후, 성능을 높이려면 사람이 레이블링한 데이터를 추가해서 재학습을 시켜야 하는데 이는 (1) 비용이 크고 (2) train data 다시 넣을 시 중첩 데이터가 있어 비효율적이다. 이때 해결책으로 엔트로피를 사용하여 불확실한 값들을 필터링 할 수 있다. 엔트로피란, 정보를 표현하는데 필요한 '최소 정보량' / 정보의 만국 공통어 개념으로 여기서 '최소 정보량'이란, 0과 1의 bits 단위로, bits값이 최소값일 때 효율적으로 데이터를 저장하는 lower bound가 된다. 보통 가우시안 + continuous 에서 엔트로피가 최악이 되며, dicision tree에서도 앞에서부터 필터링하는데에 필요한 중요 요소 중 하나이다. binary cross entropy ..

theory/NLP 2022.09.26

BERT

BERT 정의: 문맥을 양방향으로 이해해서 숫자로 바꿔주는 딥러닝 모델 기존 모델과의 비교 ELMo: 정방향, 역방향으로 학습하여 hidden state들의 linear 결합을 통해 최종 token 도출 GPT: decoder를 사용하여 후반부 단어들 masking 시켜놓고 다음 단어를 예측하는 방식으로 학습 BERT: encoder를 사용하여 방향성 없이 한꺼번에 모두 처리, masked 단어를 예측하는 방식으로 학습 SQuAD, NER, MNLI 같은 layer 1개만 BERT 위에 쌓음으로써 기존 모델들을 앞지를 수 있는 우수한 성능을 보인다. 모델 아키텍쳐 transformer의 encoder 블록만 사용 Sentence: 일련의 연속적인 text, 완벽한 문장이 아니어도 됨 (rather tha..

theory/NLP 2022.02.04

Transformer

배경 seq2seq를 처리하기 위해 기존 모델들은 recurrent model로 long-term dependency에 취약했다. 긴 문장에 어떤 정보와 다른 정보 사이의 거리가 멀때 해당 정보를 이용하지 못하는 문제가 발생했다. transformer는 recurrence를 사용하지 않고 attention mechanism만 사용해 input과 output의 dependency를 포착한다. recurrence : neural network에서 다음 step으로 넘어갈 때 출력 결과가 이전 계산 결과에 영향을 받는(=되풀이) 특징 recurrence와 convolution을 제거하고 attention을 사용하여 병렬처리를 가능케 하였다. Encoder (좌측) N개의 동일한 layer로 구성되어 있으며, ..

theory/NLP 2022.02.04

퍼셉트론(perceptron)

- 퍼셉트론(perceptron) 알고리즘은 딥러닝의 기초가 된다. - 다수의 신호를 받아 가중치와 편향 파라미터를 사용하여 계산한 뒤 임계값과 비교하여 하나의 신호로 출력한다. - 단층 퍼셉트론은 직선형 영역만 표현할 수 있고, 다층 퍼셉트론은 비선형 영역도 표현할 수 있다. - AND, OR 게이트 등의 논리 회로를 표현할 수 있고, 다층 퍼셉트론을 사용하면 XOR 게이트를 표현할 수 있다. - 다층 퍼셉트론은 이론상 컴퓨터를 표현할 수 있다. * 편향(bias) : 하나의 뉴런으로 입력된 모든 값을 다 더한 다음(= 가중합), 이 값에 더해주는 상수(=성향이라고 이해하면 된다)로, 최종적으로 출려되는 값을 조절하는 역할 참고: https://jh2021.tistory.com/3

theory/NLP 2022.01.17

SQL 개발자 (SQLD)

친구 따라 보게 되었다. 쉽다고 해서 나도 쉽게 생각했는데 일주일 동안 벼락치기로 간당간당하다. 한양대학교 근처 덕수고에서 시험보았다. 시험장소가 몇 군데 없으니 집 가까운데 하려면 빠른 접수하시길 바란다. 9시 반까지 입장,,, 다른 사람들 보니까 40분까지는 감독관이 입장 시켜 주었다. 10시에 시작해서 11시 30분에 종료. 총 90분인데 시간이 은근히 빠듯하다. 준비물은 단답형 있으니까 검정볼펜, 컴퓨터용싸인펜, 신분증이다. 수험표는 수험번호만 알고있으면 딱히 출력할 필요없다. 모르면 시험감독님께 여쭤보면 알려준다. 이론은 다음 블로그에 잘 정리되어있어 한번 읽고 문제풀이를 하는 것을 추천한다. https://blog.naver.com/liberty264/220567987579 책은 친구도 이거만..

theory/자격증 2021.11.22

GoF의 디자인 패턴. 생성패턴 5. 싱글턴

- 지난 글에 이어 생성패턴을 다뤄본다. 추상 팩토리 (Abstract Factory) 빌더 (Builder) 팩토리 메서드 (Factory Methods) 프로토타입 (Prototype) 싱글턴 (Singleton) 싱글턴 (Singleton) - 의도 단 한 개의 클래스 인스턴스를 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다. - 동기 JDBC connection 관리하는 connection pool 등은 객체가 여러 개 생성되면 설정 값이 변경될 위험이 있다. 클래스 자신이 자기의 유일한 인스턴스로 접근하는 방법을 자체적으로 관리하도록 한다. - 활용성 클래스의 인스턴스가 단 하나임을 보장하고, 잘 정의된 접근점으로 모든 사용자가 접근할 수 있도록 해야 할 때 유일한 인스턴스가 서브클래싱..

GoF의 디자인 패턴. 생성패턴 4. 프로토타입

- 지난 글에 이어 생성패턴을 다뤄본다. 추상 팩토리 (Abstract Factory) 빌더 (Builder) 팩토리 메서드 (Factory Methods) 프로토타입 (Prototype) 싱글턴 (Singleton) 프로토타입 (Prototype) - 의도 생성할 객체의 원형(prototpye)을 만들고, 이렇게 만든 견본을 복사하여 새로운 객체 생성 - 동기 원형이 되는 클래스를 생성하고, 해당 클래스의 객체를 복제하여 새로운 객체를 만들어나가는 패턴이다. 클래스를 동일하게 유지하면서 내부의 값이나 구조를 바꿔가며 새로운 객체를 만들 수 있기 때문에 클래스의 개수를 줄일 수 있다. - 활용성 제품의 생성, 복합, 표현 방법에 독립적인 제품을 만들고자 할 때 쓰인다. 인스턴스화할 클래스를 런타임에 지정..

GoF의 디자인 패턴. 생성패턴 3. 팩토리 메서드

- 지난 글에 이어 생성패턴을 다뤄본다. 추상 팩토리 (Abstract Factory) 빌더 (Builder) 팩토리 메서드 (Factory Methods) 프로토타입 (Prototype) 싱글턴 (Singleton) 팩토리 메서드 (Factory Methods) - 의도 객체를 생성하기 위해 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성하지에 대한 결정은 서브클래스가 내리도록 한다. - 동기 객체를 "제조하는" 방법을 아는 연산을 분리한다. - 활용성 어떤 클래스가 자신이 생성해야 하는 객체의 클래스를 예측할 수 없을 때 생성할 객체를 기술하는 책임을 자신의 서브클래스가 지정했으면 할 때 객체 생성의 책임을 몇 개의 보조 서브클래스 중 하나에 위임, 어떤 서브클래스가 위임자인지에 대한 정보를 ..

GoF의 디자인 패턴. 생성패턴 2.빌더

- 지난 글에 이어 생성패턴을 다뤄본다. 추상 팩토리 (Abstract Factory) 빌더 (Builder) 팩토리 메서드 (Factory Methods) 프로토타입 (Prototype) 싱글턴 (Singleton) 빌더 (Builder) - 의도 복잡한 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공한다. - 동기 생성과 표현의 분리를 통한 책임 분리 - 활용성 복합 객체의 생성 알고리즘이 이른 합성하는 요소 객체들이 무엇인지 이들의 조립 방법에 독립적일 때 합성할 객체들의 표현이 서로 다르더라도 생성 절차에서 이를 지원해야 할 때 - 구조 - 참여자 Builder: Product 객체의 일부 요소를 생성하기 위한 추상 인터페이스 정..

GoF의 디자인 패턴. 생성패턴 1.추상 팩토리

생성패턴(creational pattern) 인스턴스를 만드는 절차를 추상화하는 패턴 특징 1) 생성패턴은 시스템이 어떤 구체 클래스를 사용하는지에 대한 정보를 캡슐화한다. 특징 2) 생성패턴은 이들 클래스의 인스턴스들이 어떻게 만들고 어떻게 서로 맞붙는지에 대한 부분을 완전히 가려준다. 예시) java toString() 메소드처럼 목적은 같지만 생성한 클래스에 따라 결과물이 다르게 생성되는 메소드가 있다. -> 결론적으로 생성에 대한 유연성을 확보할 수 있다. - 생성패턴은 5개이고, 추상 팩토리부터 다뤄보도록 한다. 추상 팩토리 (Abstract Factory) 빌더 (Builder) 팩토리 메서드 (Factory Methods) 프로토타입 (Prototype) 싱글턴 (Singleton) 추상 팩..

GoF의 디자인 패턴. 서론

- 디자인 패턴 특정한 전후 관계에서 일반적 설계 문제를 해결하기 위해 상호교류하는 수정 가능한 객체와 클래스들에 대한 설명 "설계를 더 융통성있고, 모듈화하며, 재사용 가능하고, 이해하기 쉬운 것으로 만들 수 있는 통찰력" 이런 객체지향의 장점을 극대화 하는 것이 디자인 패턴이다. 각 디자인 패턴은 기존 환경 내에서 반복적으로 일어나는 문제들을 설명한 후, 그 문제들에 대한 해법의 핵심을 설명한다. 똑같은 방법으로 두 번 하지 않고, 이 해법을 100만 번 이상 재사용할 수 있다. - GoF(Gang of Fout) 에리히 감마(Erich Gamma), 리차드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시디스(John Vissides) 소프트웨어 개발 영역에서 디자인..

sparql이란?

SPARQL(SPARQL Protocol and RDF Query Language): W3C 표준언어로 DB에서 RDF를 쿼리하는데 사용된다. 반환값은 기본적으로 triple 형태 1. SELECT: 흔한 RDB의 select문과 동일하다. 원하는 데이터를 조회하는데 쓰인다. 변수 앞에 $ 또는 ?를 붙이는데 주로 ?를 사용한다. - WHERE: RDB의 from과 동일한 역할이다. DB에서는 from절이 원하는 DB table에서 조건에 맞는 값을 찾는데 사용되지만, SPARQL에서는 정보가 모두 triple 패턴으로 구성되어있어 where절을 사용한다. 이때 WHERE에서는 { }를 사용하여 그 안에 triple 패턴을 정의하고 있다는 것을 기억해야 한다. 그리고 하나의 triple 패턴이 끝날 때에..

theory/NLP 2021.03.22

2020 정보처리기사 4회 실기 후기

필기접수 때 큐넷에 늦게 들어갔더니 집근처 남은 시험장이 없어 남양주 시험장에서 시험봤어야 했기에 이번엔 꼭 날짜 맟줘 접수해야지 했었다. 그런데 2시간 늦게 들어갔더니 역시 남는 시험장이 또 없었다. 이렇게 빡쎄다고..? 실기시험장은 그렇게 의정부에서 보게 되었다. 원래 의정부공고였는데 코로나 확진자가 발생하여 신한대학교에서 시험을 봤다. 실기시험은 필답형 + 서술형으로 총 20문제이다. 준비물은 신분증과 검정 볼펜만 있으면 되고 수험표는 굳이 안 뽑아가도 된다. 수험번호를 모르면 감시관에게 여쭤보면 되지만 굉장히 번거롭고 없어 보이기에 나는 수험번호만 빈 쪽지에 써갔다. 실기 역시 필기 때 준비했던 책과 마찬가지로 수제비로 공부했다. www.aladin.co.kr/shop/wproduct.aspx?I..

theory/자격증 2020.12.06

2020 정보처리기사 4회 필기 후기

2020년도부터 기사시험 유형이 NCS 기반으로 바뀌었다. 기초 한번 훑을 겸, 또 웬만한 공기업 시험 필수조건이기에 혹시나 필요한 일이 있을지도 몰라 시험을 보았다. 기술자격시험 사이트 큐넷에서 일정확인 후 원서접수를 한다. 회원가입부터 해야한다면 공인인증서가 필요하다. 큐넷 일정확인: www.q-net.or.kr/crf005.do?id=crf00505&gSite=Q&gId= 그리고 제발 원서접수는 시간 맞추어 티켓팅 하듯이 하도록 하자.. 몇시간 지나서 들어갔더니 서울 시험장은 다 마감이였고 필기는 남양주, 실기는 의정부에서 보아야 했다. (시험장 남아있는게 다행이긴 했다) 쉽다고는 하지만 유형도 바뀌고 책 한권은 풀어봐야할 것 같아 수제비 교재를 구입했다. www.aladin.co.kr/shop/w..

theory/자격증 2020.10.18