나의 큰 O는 log x야

고정 헤더 영역

글 제목

메뉴 레이어

나의 큰 O는 log x야

메뉴 리스트

  • 홈
  • Tag
  • Guestbook
  • Admin
  • 분류 전체보기
    • 적분史
    • 프로그래밍
      • PG어
      • 테크닉
      • 3D
      • Multi precision
      • 포니게임개발
      • 스페샬
      • NLP
    • 소리
    • 언어
      • 어원 이야기
      • 라틴어
    • 수업노트
      • 한국고대경제와사회
      • 영어구조론
      • 정보검색론
      • 인간의삶과역사속의미생물
      • 기타
    • 잉여
      • 미래
      • 수학
      • 종교개혁
    • 그냥 공부
    • 가짜 정보 정정합니다.

검색 레이어

나의 큰 O는 log x야

검색 영역

컨텐츠 검색

분류 전체보기

  • 심심해서 해보는 딥러닝을 이용한 악기 소리 분류

    2019.12.02 by ∫2tdt=t²+c

  • [Python] tomotopy로 문헌별 토픽 비중 계산하기

    2019.12.01 by ∫2tdt=t²+c

  • [C++, Eigen] Eigen cast함수 SIMD로 벡터화하기

    2019.10.13 by ∫2tdt=t²+c

  • [C++] 템플릿을 이용해서 읽기 쉬운 타입 이름을 얻어보자

    2019.09.29 by ∫2tdt=t²+c

  • Chrono-gram을 이용해 라틴어 고문헌 연대 추정하기

    2019.09.16 by ∫2tdt=t²+c

  • [기계 학습] Mean Shift 클러스터링

    2019.09.04 by ∫2tdt=t²+c

  • [토픽 모델링, tomotopy] sLDA를 이용하여 스팸 메일 분류하기

    2019.08.21 by ∫2tdt=t²+c

  • [토픽모델링] 상관 토픽 모델(Correlated Topic Model)

    2019.08.08 by ∫2tdt=t²+c

심심해서 해보는 딥러닝을 이용한 악기 소리 분류

음악을 듣다보면 참 신비로운 소리들이 많습니다. 피아노 소리처럼 익숙한 음색도 있지만, 스틸 드럼처럼 낯선듯 익숙한듯 뭔지 모를 음색들도 많지요. 종종 듣다보면 그거 참 신기한 음색인데 어떤 악기인지는 감도 안 잡힐때가 있습니다. 이것 참 지식인에 음악을 올려서 무슨 악기냐고 물어볼 수도 없고, 궁금함에서만 멈춰야한 적이 있었는데요, 딥러닝으로 핫한 시대에 맞춰 소리에 따라 악기를 분류해주는 모델을 만들어보면 좋겠다는 생각이 들었습니다. 이 포스팅은 그 기나긴 대장정의 첫 걸음입니다. 학습 데이터 만들기 딥 러닝 모델을 만드는 건 어렵지 않습니다. 데이터만 충분히 있다면요. 문제는 악기별로 음색을 분류해서 녹음해놓은 데이터셋을 찾아보기 어렵다는 것입니다. 단, 실제 악기를 녹음해놓은 데이터셋은 많지 않지..

프로그래밍 2019. 12. 2. 21:52

[Python] tomotopy로 문헌별 토픽 비중 계산하기

이전 글(https://bab2min.tistory.com/633)에서 tomotopy로 간단하게 토픽 모델링을 실시하는 방법에 대해 소개했었는데요, 많은 분들께서 문헌별 주제 비중 계산하는데에 어려움을 겪고 계신듯하여, 문헌별 토픽 비중을 계산하는 방법을 이번 글에서 별도로 소개하도록 하겠습니다. 먼저 다음과 같이 LDA 토픽 모델을 학습시키도록 하겠습니다.import tomotopy as tp # 먼저 모듈을 불러와야겠죠 model = tp.LDAModel(k=20, alpha=0.1, eta=0.01, min_cf=5) # LDAModel을 생성합니다. # 토픽의 개수(k)는 20개, alpha 파라미터는 0.1, eta 파라미터는 0.01 # 전체 말뭉치에 5회 미만 등장한 단어들은 제거할 겁니다..

프로그래밍/NLP 2019. 12. 1. 00:26

[C++, Eigen] Eigen cast함수 SIMD로 벡터화하기

Eigen은 C++기반의 선형 대수 연산 라이브러리입니다. 이 라이브러리의 특징은 c++의 템플릿을 쥐어짜서 컴파일 시간에 행렬 간의 연산식을 분석하고 최적의 연산 순서를 결정해서 연산을 수행한다는 것입니다. 예를 들어 Eigen::MatrixXf a, b, c, d; a = b * c + d; 와 같은 식이 있다면, 일반적인 c++객체에서는 b*c를 연산한 뒤 그 리턴값으로 임시 객체가 생성이 되고, 이 임시객체와 d를 더한뒤 임시 객체를 생성하고, 최종적으로 이 임시객체가 a에 대입되는 식으로 연산이 진행될 겁니다. 하지만 Eigen에서는 Expression Template이라는 템플릿의 응용기법을 이용해 이런 불필요한 연산을 회피하고, b*c를 바로 a에 대입한뒤 거기에 d를 더 더해서 임시객체 생..

프로그래밍/테크닉 2019. 10. 13. 01:35

[C++] 템플릿을 이용해서 읽기 쉬운 타입 이름을 얻어보자

C++에는 런타임 타입 정보(RTTI)를 알려주는 typeid 시스템이 들어가 있습니다. 따라서 컴파일 언어이면서도 생각보다는 유연하게 실행 시간에 특정 변수의 타입을 조회하고 타입 간의 연산을 수행할 수가 있습니다. typeid로 얻어지는 type_info 인스턴스는 name()이라는 멤버 함수를 가지는데, 이 멤버 함수는 해당 타입의 이름을 알려줍니다. 이 값을 통해 현재 변수의 타입이 무엇인지 유저에게 문자열로 출력해줄 수가 있는 것이죠.문제는 이 name()이 사실 사람이 읽기에 적합한 문자열을 주지 않는다는 것입니다. (게다가 컴파일 환경에 따라 출력값이 달라질 수도 있구요.) 예로 gcc 8.3에서 typeid(std::vector).name()는 St6vectorImSaImEE라는 값을 반환..

프로그래밍/테크닉 2019. 9. 29. 19:10

Chrono-gram을 이용해 라틴어 고문헌 연대 추정하기

졸업 논문으로 연구했던게 통시적 단어 임베딩 기법이었습니다. 고전 그리스어로 '시간'을 뜻하는 단어 χρόνος와 '글'을 뜻하는 단어 γράμμα를 합쳐서 Chrono-gram(CG)이라고 이름을 붙였었는데요, 이 모형은 시간에 따른 언어의 변화를 포착하는데에 특화되어 있어서 텍스트의 연대를 추정하는데에 사용할 수 있습니다. 문제는 모형을 학습하려면 오랜 기간동안 변화를 보여주는 말뭉치를 구해야 하는데 이것이 생각보다 쉽지가 않습니다. 다행히도 구글에서 Google Books Ngram이라는 15세기부터 21세기까지의 Google Books의 책들을 바탕으로 빈도분석을 수행한 말뭉치를 공개해준 덕분에 이걸 바탕으로 논문을 마무리할 수 있었습니다.논문을 어찌어찌 끝내고 놀다보니 불현듯 고문헌 이미지를 수..

프로그래밍/NLP 2019. 9. 16. 23:35

[기계 학습] Mean Shift 클러스터링

클러스터링(clustering)은 사람의 간섭 없이 컴퓨터가 스스로 유사한 값들을 묶어서 덩어리를 찾아내는 작업을 뜻합니다. 사람이 분류 체계를 미리 만들어주어야 하는 분류(classification)과는 유사하지만 지도(supervise) 여부에서 차이가 나지요. D차원의 유클리드 공간 상의 점들 N개를 클러스러팅하는 데에 가장 사용되는 대표적인 알고리즘에는 K-means Clustering이 있습니다. 이 알고리즘은 전체 N개의 데이터를 K개의 클러스터로 빠르게 묶어낸다는 장점이 있습니다만, 클러스터의 개수 K가 사전에 결정되어야 하고, 초기 중심점(Centroid) 설정에 따라 수렴 여부가 크게 좌우된다는 한계가 있습니다. 반면, 시간이 좀 더 걸리더라도 데이터에 따라 적절한 클러스터 개수를 발견하..

그냥 공부 2019. 9. 4. 23:57

[토픽 모델링, tomotopy] sLDA를 이용하여 스팸 메일 분류하기

sLDA(supervised LDA)라는 토픽 모델링 기법에 대해서는 아주 옛날에 제 블로그 포스팅에서 짧게 소개한 적이 있습니다. LDA가 문헌 집합 내에서 주제들을 찾아서 각 문헌에는 어떤 주제가 얼만큼씩 들어있는지는 찾아내는 작업이라면, sLDA에서는 문헌에서 각 주제가 얼만큼 있는지를 찾아낸 다음, 그 주제 분포를 바탕으로 문헌의 특성(response variable)을 예측하는 작업이라고 할 수 있습니다. 통계로 비유로 들자면 LDA는 문헌들 안에 있는 내용을 잘 정리해서 보여주는 기술 통계와 같은 것이고, sLDA는 LDA로 얻은 정보를 바탕으로 새로운 사실을 예측하는 추리 통계와 같은 것입니다. 수학적으로 풀어헤쳐보면, sLDA는 결국 LDA에 회귀 모형(regression)을 덧붙인 것과 ..

그냥 공부 2019. 8. 21. 02:40

[토픽모델링] 상관 토픽 모델(Correlated Topic Model)

오랜만의 토픽 모델링 공부입니다. 오늘 포스팅할 토픽 모델은 Correlated Topic Model(CTM)입니다. 이 모델의 특징은 이름에서 알 수 있듯이 주제 간의 상관 관계를 고려할 수 있다는 것입니다. 이 모델은 LDA 토픽 모델을 개발하여 토픽 모델링이라는 기법을 태동시킨 장본인인 D. Blei가 2006년에 개발한 LDA의 업그레이드된 모형이라고 할 수 있습니다. LDA는 CTM과는 다르게 주제 간의 상관 관계를 모형화하는 능력이 없습니다. 즉 각각의 주제가 항상 독립적이라고 가정을 했는데, CTM은 이를 개선하여 특정 주제가 등장하면 이와 연관된 다른 주제가 함께 등장할 가능성이 높다는 사실을 활용한다는게 특징입니다. 본 포스팅은 다음 논문을 참조하여 작성하였습니다. Blei, D., & ..

그냥 공부 2019. 8. 8. 01:32

추가 정보

인기글

최신글

글쓴이 ∫2tdt=t²+c

블로그 이미지

제가 안 것의 대부분은 인터넷으로부터 왔으니, 다시 인터넷에게 돌려주어야 합니다. bab2min@gmail.com

댓글

태그

영어구조론 php 리듬게임 우리역사바로알기대회 NLP 한국고대경제와사회 BigFloat 포니게임 정보조직론 텍스트 마이닝 라틴어 악보 c++ 토픽 모델링 문헌정보통계 Direct3D python pg어 kiwi 자연언어처리

방문자

오늘
어제
전체

페이징

이전
1 2 3 4 5 6 7 8 ··· 70
다음
나의 큰 O는 log x야
메일 bab2min@gmail.com
Skin Images are from Stinkehund.

티스토리툴바