전체 글(9)
-
위상수학이란?
1. 위상수학 이름의 유래와 관심 대상 그리스어 'τόπος'(topos, 장소)와 '-λογία'(-logia, 연구)의 합성어에서 유래합니다. topology라는 말은 공간의 속성과 그 속성이 연속적 변형에도 불구하고 유지되는 방식을 연구합니다. 주로 "비슷하다"는 개념을 사용하기 위해 활용하는데요. 딥러닝 등 벡터 공간의 top journal을 이해하는 데 기반이 됩니다. 2. 위상 공간의 예시 - 원피스 루피 고무를 위상공간의 예시로 많이 든다고 합니다. 고무느 구부릴 수는 있지만, 찢거나 붙일 수는 없습니다. 위상수학에서는 이러한 변형을 통해 형태가 바뀌더라도, 일부 기본적인 속성들은 유지됩니다. 예를 들어, 도넛과 커피잔은 위상수학적으로 동일하다고 볼 수 있습니다. 왜냐하면, 한 개의 구멍을 ..
2024.01.24 -
튜플 언패킹과 *args
튜플에 관한 오해 튜플은 리스트와 immutable/mutable한 자료구조로 구분되곤 합니다. 그런데 사실, 튜플은 리스트와 마찬가지로 값의 주소를 저장하는 형태입니다. 따라서 튜플의 3번째 원소인 [1,2]와 같은 경우 새로운 원소를 추가하거나, 변형하는 게 가능합니다. tuple_example = (10,'alpha',[1,2]) tuple_example[-1].apppend(3) 튜플 언패킹 이 성질을 잘 이용하면, argument 등을 잘 다루거나 보존하는 데 사용할 수 있습니다. tuple_example2 = (1, 2, 3, 4, 5) first, *middle, last = tuple_data print(f"First: {first}, Middle: {middle}, Last: {last}..
2023.05.17 -
실행력을 높이는 유용한 도구1 : 마인드맵
제게 실행력은 정말 큰 약점입니다. 덜 중요한 우선순위에 더 많은 시간을 쓰거나, 충분한 시간을 들여야 할 일을 너무 긴장되게 처리하곤 하죠. 이 경험이 누적되면, 자신감 상실은 물론 들인 시 간 대비 성과도 적게 됩니다. 1. 계획정리도구로서 마인드맵 마인드맵은 실행력에 앞서, 생각 정리 도구에 가깝습니다. 이전에 르코님을 통해 알게 된 복주환 작가님의 책 생각정리기획력 덕택에, 제 산만한 생각들을 마인드맵으로 정리하는 게 일정관리에 도움을 받을 수 있다고 느꼈었어요. 실천해 보기 시작한 건 최근 1년 전쯤부터입니다. 내가 해야 할 업무들을 목적지향으로 작성하고, 그에 따르는 세부 업무를 가지형태로 꺼내어두면, 일을 세분화할 수 있더라고요. 이렇게 하면 몇 가지 장점이 있습니다. 1) 중요한 일에 집중..
2023.05.10 -
[22'Recsys] BERT4Rec 구현의 진실에 관하여 : A Systematic Review and Replicability Study of BERT4Rec for Sequential Recommendation
글을 한마디로 표현한다면 : 허깅페이스로 SR 추천하세요! ChatGPT 이전에, NLP에서 핵인싸인 트랜스포머 모형의 자녀들인, BERT와 GPT는 툭하면 결투를 벌였습니다(팝콘각). 결투는 추천모형에서도 계속됐죠. 누가 이겼을까요? 오늘 소개해 드릴 내용은, 2022년도 Recsys 재현성 트랙에 게재됐으며, 아래 링크에서 논문 원문을 확인하실 수 있습니다. 1. 논문 제목과 배경 논문 제목은 A Systematic Review and Replicability Study of BERT4 Rec for Sequential Recommendation인데요. Sequential Recommendation(SR)은 이름에 의미가 내포돼 있는데요. 고객이 웹에서 여러 기존 제품들을 클릭하거나 구매하는 행위의 ..
2023.05.09 -
Python Enum
파이썬 기본 내장으로 Enum이라는 모듈이 있습니다. 오늘은 이 모듈의 필요성과 사용법을 간단히 알아보죠. Enum을 사용했을 때 장점은 가독성, 유지보수 용이, 코드 안전성, 디버깅 정도가 있겠습니다. 가독성 상수값에 의미 있는 이름을 붙이면, 값을 하드코딩하는 경우보다 가독성이 높습니다. # Without enums def apply_discount(price, discount_type): if discount_type == 1: return price * 0.9 elif discount_type == 2: return price * 0.8 # With enums from enum import Enum class DiscountType(Enum): TEN_PERCENT = 1 TWENTY_PERCEN..
2023.05.02 -
파이썬 시퀀스의 저장방식 : 컨테이너 시퀀스와 플랫 시퀀스
파이썬을 설치하면 자동으로 설치되는 기본 객체(objective)가 몇 가지 있습니다. 특히, 리스트, 튜플 등은 정보의 나열이란 의미에서 시퀀스라고 부르죠. 구분 기준의 대전제가 있습니다. 프로그래밍 언어 객체가 저장되는 메모리 공간입니다. 내장 시퀀스는 크게 C언어의 저장방식을 기준으로 크게 두 가지로 나뉩니다. 컨테이너 시퀀스(contatiner sequence)와 플랫 시퀀스(flat sequence)로요. 컨테이너 시퀀스의 메모리로 가보죠. 컨테이너 시퀀스는 스마트폰의 저장된 번호목록과 같습니다. 저장된 번호의 누군가와 함께 거주하지 않는다면, 따로 약속 등을 통해서 만납니다. 플랫 시퀀스는 동거인과 같습니다. 동일한 집에서 함께 살죠. 메모리를 기준으로 변수를 조회해 보면, 컨테이너 시퀀스는 ..
2023.05.01