[matplotlib] x,y축 format 지정하는 방법
·
연구 Research/데이터과학 Data Science
matplotlib에서 log scale그래프를 그리다가 다음과 같이 y축 숫자표기가 너무 크다는 것을 발견하고 이를 수정하기 위한 코드를 작성하였다. 여러 방법을 찾아보긴 했는데 내가 느끼기에 가장 간단하고 범용성이 높은 방법은 다음과 같다. 1. axes 인스턴스 필요 대부분의 matplotlib 그림에서 고급 기능을 쓰기 위해서는 axes 인스턴스를 필요로 한다. 이 axes는 내가 그리고자 하는 figure에 할당된 class인데 그 내부에서 구체적으로 설정하는 매서드가 담겨있어서 이것에 접근해야한다. plt.plot(num_history, train_mse_history) plt.ylabel('MSE') plt.xlabel('epoch') plt.yscale('symlog') ax = plt.g..
[논문작성] physics와 siunitx package 활용하기
·
기타/논문작성 Writing
논문 작성할 때 편하게 수식을 쓰거나 숫자 및 단위를 쓰기 위해 매크로를 만들 수도 있지만 기존에 있는 package를 사용하는 것도 하나의 방법이다. 논문 양식에서 physics와 siunitx 패키지가 있었는데 이를 잘 활용하면 좋다 1. 미분/편미분 표기 \usepackage{physics} \dv{x}{t} = \dfrac{\mathrm{d}x}{\mathrm{d}t} \pdv{x}{t} = \dfrac{\partial{x}}{\partial{t}} 다음과 같이 $\mathrm{d}x$와 $\partial{x}$는 위와 같은 분수를 많이 쓸 때 계속 써주기 귀찮다는 문제가 있다. 따라서 dv와 pdv 명령어를 이용해서 편하게 작성할 수 있다. 2. 숫자에 단위 표기하기 글 안에서 숫자를 쓸 때 $..
[리눅스] 윈도우 환경에서 우분투 사용하는 방법
·
프로그래밍 Programming/리눅스 우분투 Ubuntu
개발이나 알고리즘 테스트 등의 목적으로 리눅스 환경에서 프로그래밍 및 시뮬레이션을 해야하는 경우가 있다. 실제 데스크탑에 우분투를 설치해서 사용하면 좋겠지만 기본적으로 윈도우나 맥OS를 쓰고 있을 것이다. 여기서는 윈도우11을 기준으로 설명한다. 또한 멀티 부팅의 경우에는 시도할 생각을 못해서 제외한다. 1. 가상환경에서 설치 컴퓨터 가상화 프로그램인 VMware에서 우분투를 설치할 수 있다. 다른 가상환경을 만들 수 있는 소프트웨어면 괜찮을 것으로 생각된다. 1) VMware 설치 2) VMware에서 Ubuntu.iso 파일을 이용해 우분투 설치 그러나 이런 VMware를 사용할 때는 충분한 하드디스크,메모리가 필요하고 컴퓨터의 연산속도가 좋아야 버벅임없이 사용할 수 있다. 나의 경우에는 노트북에 설..
[Overleaf] 고치던 파일이 컴파일되기 전에 날아갈 때
·
기타/논문작성 Writing
overleaf는 저장버튼이 따로 없이 컴파일을 하면 저장이 되고 ctrl+s를 누르면 컴파일이 된다. 그래서 컴파일에 문제가 있을 때 새로고침했더니 예전 버전으로 돌아가는 끔찍한(..) 일이 생길 수 있다. 저장 기준이 ctrl+s를 누르는 순간 or 컴파일을 새로 할 때인 것으로 추정되는데 다음과 같이 history가 있어서 이전에 수정한 부분을 찾아서 고칠 수 있다. 컴파일 오류가 생겨서 건들다가 쓰던 게 날아가서 마음이 아팠는데 여기에 저장된 히스토리 덕분에 되찾았다.
[논문작성] 논문 리뷰에 대한 응답
·
기타/논문작성 Writing
논문 리뷰에 대한 응답을 어떻게 해야할 지에 대한 기록. 1. 제출 형식 Author covering letter : 논문 처음 제출할 때와 비슷한 커버 레터 Response letter : 논문 리뷰에 대한 답변 Revised paper : 수정된 논문. 수정된 부분을 표시해줘야 한다. 2. 논문 리뷰에 대한 답변 준비 세 가지 경우가 있다. 1) 논문 리뷰를 검토 후 수용하는 경우 리뷰 내용을 보고 논문에 반영한 경우에는 반영한 페이지를 작성해준다. 2) 검토 후에 반영하지 않는 경우 논문 리뷰대로 검토했으나 논문에 반영하지 않기로 결정했으면, 이에 대한 이유를 적는다. 그리고 논문에 꼭 들어갔으면 한다면 반영해주기로 한다. 3) 리뷰에 대해 반박하는 경우 (논문 반영 X) 리뷰에 대해 반박하는 경우..
[인공지능] 딥러닝, 머신러닝에서 uncertainty/error 개념
·
연구 Research/인공지능 Artificial Intelligent
머신러닝, 딥러닝을 공부하다보면 다양한 에러에 대해서 배우게 된다.이 글에서는 이러한 용어들의 혼동을 막고자 종합적으로 정리하는 글이다. 1. Model bias, Estimation bias, Estimation variance  그 중에 하나가 model bias, estimation bias, estimation variance이다.    위 그림을 보면 이 개념을 설명하는 결과라고 볼 수 있다. Model bias는 실제 값과 내가 모델로 만든 값 중에서 가장 실제값을 가깝게 반영하는 모델에서 발생하는 바이어스이다. 즉, 내가 정한 모델은 아무리 최적화를 시켜도 truth 값과 완벽하게 일치하지 않을 수 있다. 예를 들어 비선형 모델인데 내가 아무리 선형 모델로 fitting을 하려고 해도 모델 ..
[git blog] jekyll 테마 적용하면서 발생한 에러들
·
프로그래밍 Programming
이번에 블로그를 git으로 만들어볼까하고 테마 적용을 시도했다가 수많은 에러를 직면한 것을 기록하고자 한다. 1. 버전 호환성 문제 처음에 Ruby를 설치할 당시에 잘 모르고 가장 최신 버전인 3.2.2를 설치했는데 나중에 이런저런 것들을 설치하다가 버전이 호환 안된다는 것을 깨달았다. 오류를 자세히 보면 Ruby < 3.2 이런 식으로 버전이 문제라고 알려준다. 그리고 구글 검색하다가 Ruby 3.0 이상부터는 무슨 문제가 발생할 수도 있다는 말을 봤다. 안전하게 설치하려면 2.7 정도의 버전이 좋은 것 같다. 2. 파일 경로 한글 포함 문제 내가 지정해놓은 github 로컬 저장소에는 한글이 포함되어있는데 이 때문에 아래와 같은 오류가 났다. Encoding::CompatibilityError: in..
[논문작성] Acronym, Abbreviation 차이
·
기타/논문작성 Writing
논문을 쓰다보면 acronym, abbreviation을 쓰는 방법 등에 대해서 알게 되는데 정작 두 개의 차이를 알기가 어려웠다. 1. Abbreviation 과 Acronym의 통상적인 차이 두 단어를 번역하면 abbreviation은 축약어이고, acronym은 두문자어이다. 여기에서 힌트를 얻을 수 있는데, abbreviation은 어떤 긴 단어를 줄여서 쓰는 것이고, acronym은 긴 단어구 중에 앞글자만 따서 이름을 붙인 것이다. 예시) corporation -> Corp. (abbreviation) National Aeronautics and Space Administration - > NASA (acronym) 2. 몇 가지 대표적인 Abbreviation 라틴어 기반인 e.g. (= f..
[생산성] Everything과 WOX로 빠르게 윈도우 검색하는 방법
·
기타
빠르게 윈도우에서 검색을 위한 툴은 다음과 같다. 1. Everything 윈도우에서 검색을 해주는 툴이다. 폴더에서 윈도우 검색하는데 폴더에 검색하면 너무 느려서 everything을 이용해서 빠른 검색을 할 수 있도록 하였다. everything은 다음 링크에서 다운받아 설치할 수 있다. 다음과 같이 파일을 검색하는데 검색 속도가 일반 윈도우 폴더 검색보다 훨씬 빠르다. 2. WOX WOX는 여러가지 윈도우 어플리케이션을 쉽게 접근해서 사용할 수 있도록 하는 프로그램이다. 사용자가 지정한 단축키를 누르면 다음과 같이 화면에서 어플을 검색해서 실행할 수 있다. 3. 결합하기 위의 everything과 WOX를 함께 쓰면 WOX를 통해 everything에서 검색을 하는 것과 같은 동일한 효과를 얻을 수..
[Matplotlib] 3D scatter plot 그리는 코드
·
연구 Research/데이터과학 Data Science
matplotlib에서 3D scatter plot을 그리는 방법 3D plot을 그리기 위한 코드는 여러 방식이 있을 텐데 아래 방식이 가장 스탠다드인 것 같아서 이렇게 사용한다. max_value = np.amax( np.abs(data) ) # max값으로 축 제한 fig = plt.figure(constrained_layout=True) ax = fig.add_subplot(projection='3d') ax.scatter(data[:,0], data[:,1], data[:,2], marker='o', color ='r', alpha=1.0) ax.set_xlim([-max_value, max_value]) ax.set_ylim([-max_value, max_value]) ax.set_zlim([..