전체 글 153

XLNet: Generalized Autoregressive Pretraining for Language Understanding

IntroductionProposed MethodPermutation Language ModelingTwo-Stream Self-Attention for Target-Award RepresentationIncorporating Ideas from Transformer-XLExperimentsResultsAblation StudyConclusionReference기존의 Language model 및 BERT의 문제점을 지적하며 나온 논문으로, 2019년 당시 20개의 NLP task에서 BERT의 성능을 능가하고 그 중 18개의 task에서 SoTA를 찍은 모델이다.transformer XL 논문을 냈던 저자들이 쓴 논문으로, permutation learning, two-stream attention m..

네트워크 프로토콜

👥인프런의 파이썬 프로그래밍 강의, 유튜브 강의를 참고하여 정리하였습니다.네트워크 통신이란?네트워크 통신과정네트워크 통신의 조건통신 방식프로토콜이란?프로토콜의 3요소프로토콜의 기능프로토콜의 종류네트워크 통신이란?컴퓨터와 컴퓨터가 연결된 것을 네트워크라고 합니다. 그리고 컴퓨터 간 통신을 네트워크 통신이라고 합니다.다음 과정을 통해 네트워크 통신이 이뤄집니다. 네트워크 통신과정https://www.inflearn.com/course/파이썬-프로그래밍/unit/17894클라이언트가 서버에 요청을 하면 listner가 듣고 socket으로 넘겨준다.서버는 클라이언트로부터 받은 요청에 대해 작업(데이터 베이스 작업 등..)을 한다.작업 결과물을 다시 클라이언트로 보내준다.여기서 패킷은 클라이언트와 서버 간 주고..

CS 2022.08.30

파이썬 - 객체지향 프로그래밍

🤖 인프런의 파이썬 강의를 수강한 후 정리한 내용입니다. 객체지향 프로그램이란? Object Oriented Programming 속성과 기능을 포함한 프로그램 단위로, 프로그램의 구성요소를 객체화 하는 것을 말한다. 클래스란? 객체를 생성하기 위한 틀로, 하나의 클래스로부터 여러개의 객체를 생성할 수 있다. # class01.py class Calculator: def __init__(self): self.result = 0 def add(self, num): self.result += num return self.result def sub(self, num): self.result -= num return self.result→ Calculator라는 클래스에는 숫자를 더하는 add기능과 빼는 sub..

CS 2022.08.25

파이썬 - 자료구조와 동작원리

성능 시간복잡도 시간복잡도란? 프로그래밍을 할 때는 언제나 비용을 신경써야한다. 그 비용 중 하나가 코드가 돌아가는데 필요한 실행시간일 것이다. 그리고 이러한 실행시간을 시간복잡도라고도 부른다. 시간복잡도를 정확히 예측할 필요는 없지만 그 시간을 개략적으로 예측하는 것은 필요하다. 시간복잡도를 표현할 때는 Big-O기법을 사용하는데, 이는 가장 빠르게 증가하는 항만을 고려하는 표기법이다. 즉, 가장 영향력이 큰 부분에 대해서만 시간 복잡도를 고려하는 것이다. 시간 복잡도는 대표적으로 다음 일곱가지 종류로 나눠볼 수 있다. 시간복잡도(증가함수) 종류 종류(빅오표기법) 명칭 설명 대표사례 문제크기가 100배 커질 때 예상 소요시간 O(1) 상수시간 고정된 수의 문장을 실행하므로 문제의 크기에 따라 시간이 변..

CS 2022.08.18

[백준 | 파이썬3] 18352 병사 배치하기

https://www.acmicpc.net/problem/18353 18353번: 병사 배치하기 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 2,000) 둘째 줄에 각 병사의 전투력이 공백을 기준으로 구분되어 차례대로 주어진다. 각 병사의 전투력은 10,000,000보다 작거나 같은 자연수이다. www.acmicpc.net > 문제 풀이 아이디어 DP로 풀 수 있는 문제이다. 해당 문제에서 dp에는 최대 병사 인원 수가 들어간다. 푸는 논리는 다음과 같다. - 우선 dp를 병사 수만큼 1로 초기화한다. - 1 번째 병사는 0 번째 병사보다 전투력이 작으므로 연산을 수행한다. (0 번째 병사의 인원수 +1) 과 (1번째 병사의 인원 수) 중 큰 값을 dp[1]에 넣어준다. - 2 번째 병사는 0 번째 병사보..

[백준 | 파이썬3] 18352 특정 거리의 도시 찾기

https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net > 문제 풀이 아이디어 bfs와 최단거리 유형으로 풀 수 있다. - 시작점인 1을 큐(q)에 넣고 최단 거리정보를 나타낸 dist 리스트의 시작점엔 0을 넣는다. - 1에서 갈 수 있는 노드는 2와 3이므로 이들을 q에 차례로 넣는다. 동시에 최단거리는 (0+1)로 dist의 각 인덱스에 추가해준다. - 2에서 갈 수 있는 ..

인기도, 연관규칙분석, tf-idf 컨텐츠 기반 시스템

해당 포스팅은 NAVER BOOSTCAMP RECSYS 트랙의 교육자료와 강의를 참고하여 정리한 글입니다. 본 포스팅에선 기본적인 추천 시스템인 인기도 기반, 연관규칙분석 기반, tf-idf 컨텐츠 기반 시스템에 대해 정리하였다. 인기도 기반 추천 통계적으로 가장 인기있는 아이템을 추천한다. 데이터가 없는 서비스 런칭 초반에 많이 사용되는 시스템이다. 인기도의 척도: 조회수, 평균 평점, 리뷰 개수, 좋아요 싫어요 수 등 스코어 Most Popular: 조회수가 가장 많은 아이템을 추천 ex) 뉴스 추천 Highly Rated: 평균 평점이 가장 높은 아이템 추천 ex) 맛집 추천 추천하려는 task에 맞게 스코어를 설정하는 것이 중요하다. 연관분석 1. 연관규칙 분석(장바구니 분석) 상품 구매, 조회 ..

추천시스템이란?

해당 포스팅은 NAVER BOOSTCAMP RECSYS 트랙의 교육자료와 강의를 참고하여 정리한 글입니다. 추천시스템 개요와 평가지표 해당 포스팅에선 추천시스템은 무엇이고 어떤 지표로 성능을 평가하는지에 대해 정리해보고자 한다! 1. 추천시스템이란? 정의: 유저가 굳이 검색하지 않더라도 유저에게 맞는 아이템을 push해줄 수 있는 시스템 필요성: 정보의 양이 넘치면서 유저가 정보를 찾는데 시간이 오래 걸리기 때문에 유저가 원하는 것을 빠르게 찾을 수 있는 추천시스템이 필요해졌다. Long Tail Recommendation: Popular products를 추천하는 것을 넘어 개인화된 상품까지 추천하는 시스템 유튜브 영상 추천(조회수는 적지만 시청한 영상과 관련된 영상 추천) 2. 추천 시스템 사용데이터..

[백준 | 파이썬3] 1874 스택 수열

https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net > 문제 풀이 아이디어 - 스택의 마지막 값이 입력의 첫번째 값보다 작으면 스택에 1씩 증가시킨 수를 추가한다. - 스택의 마지막 요소 값과 입력의 첫번째 값이 일치하면 스택의 마지막 값과 입력의 첫번째 값을 뺀다. - 위 과정을 입력리스트가 빈 리스트가 될 때까지 반복한다. - 만일 스택의 마지막 요소 값이 입력의..