이 글은 링크드인 페이지 를 번역한 글입니다. 1 연구를 사랑해야한다. 연구를 사랑해야한다. 성과를 내기위해, 실험을 더 하기 위해 머리를 감싸며 밤을 새는 날이 많을 수도 있다. 발견하고자 하는 욕구로부터 슬럼프를 벗어날 수 있다. 2 도전적인 상황을 즐겨야 한다. 성공적으로 phD를 마친 사람들에게서는 그들의 연구분야에서 근본적으로 도전적인, 혹은 어려운 문제를 시도한다. 그러한 사람들은 진정한 진실을 향한 강한 욕구가 있어서 열역학 법칙을 어기지 않는 한 가능하다고 믿는다! 또한 실제로 그것이 기술자 혹은 연구자들이 말도 안되는 일을 해내는 원천이다. 빛을 따라 움직이는 생쥐 처럼... 3 너는 네가 PhD 를 원하는 이유를 정확히 알고있다. 필자의 동료중엔 그저 똑똑한 아이들이 대학 이후 대학원에..
젋은 시절의 과학자는 자신이 해 놓은 연구의 결과가 'hot' 하고 유용하게 쓰이게 될 것이라고 믿고 싶어 한다. 그렇지 않다면 과학자라는 고상한 타이틀을 획득하기까지 바친 정열과 시간, 비용을 정당화 할 수 없다고 믿는다. 슬프게도 과학자의 연구 업적이 그대로 인류에게 기여하는 경우는 드물다. 대신 그 과정에서 훈련한 체계적 접근방식, 사고법, 시행착오, 불가능한 스케줄을 감당해 내는 능력, 이런 것들이 나중에 다른 현실적인 문제를 해결하도록 돕는다. 장년의 과학자는 젋은 시절의 자신과 쏙 빼닮은 젊은 과학자들을 보면서 그들이 가진 이상주의에 아름다움과 허무함을 동시에 느낀다. 다행스러운 것은 이상주의를 거친 과학자가 그렇지 않은 과학자보다 이론적으로 견고한 기반을 가질 확률이 높다는 것이다. 메트릭 ..
먼저 대각화(Diagonalization)를 이해하기 전에 대각 행렬을 정의하자. 일단 행렬 AAA 를 n×nn \times nn×n 행렬이라 하자. 대각 행렬은 행렬의 대각 성분을 제외하고는 0 인 행렬이다. 가령, A=[a1000a2000a3]A = \begin{bmatrix}a_1 & 0 & 0 \\0 & a_2 & 0 \\ 0 & 0& a_3\end{bmatrix}A=⎣⎡a1000a2000a3⎦⎤ 는 대각 행렬이다. 행렬의 대각화는, 이처럼 대각 행렬을 찾는것이다. 가령 예시의 A는 이미 대각화가 된 행렬이다. 말이 헷갈리는데, 잠시 책에서 본 A=PDP−1A = PDP^{-1}A=PDP−1 같은 식은 잊어두자. 우리는 행렬 A를 대각행렬로 표현하고 싶다. 이 과정을 대각화라 한다...
1 .data .data 가 헷갈려 쓰는 포스팅 .data was the primary way to get the underlying Tensor from a Variable. After this merge, calling y = x.data still has similar semantics. So y will be a Tensor that shares the same data with x, is unrelated with the computation history of x, and has requires_grad=False. However, .data can be unsafe in some cases. Any changes on x.data wouldn't be tracked by autograd, a..
1. Variable 1. Variable 버전이 업데이트 되면서 Variable이 deprecate 됬습니다. 과거에는 gradient를 계산하기 위해 Variable(torch.Tensor([1.0]),requires_grad = True) 과 같이 작성 하였다면 이제는 그냥 x = torch.tensor([1.0],requires_grad = True) 와 같이 적으면 됩니다. (안 적으면 default 값으로 False 입니다!) False라 설정된 것을 다시 바꾸고 싶을 땐 x.requires_grad_(True) 처럼 _ 만 붙여주면 됩니다.
Sklearn 헷갈리는 module 정리. Sklearn version : v0.20.2 기준 작성. 1. sklearn.model_selection.KFold K 개의 subsample들 (fold) 로 나누고 index를 반환해준다. 사용 예시를 보자. from sklearn.model_selection import KFold import numpy as np X = np.arange(16).reshape((8,-1)) y = np.arange(8).reshape((-1,1)) kf = KFold(n_splits=4) for train_index, test_index in kf.split(X): print("TRAIN:", train_index, "TEST:", test_index) X_train, ..
Lagarage multipler : contrain 된 상황에서 f(x,y) 의 mix, man 구하기 Find max or min for f(x,y)f(x,y)f(x,y) when g(x,y)=Cg(x,y) = Cg(x,y)=C. 예시 xy=3xy = 3xy=3 을 만족할 때 원점과 가장 가까운 거리 구하기. 즉 f(x,y)=x2+y2f(x,y) = x^2 + y^2f(x,y)=x2+y2 의 min 을 구하면 되고, contrained 된 함수 ggg 는 다음과 같다. g(x,y)=3g(x,y) = 3g(x,y)=3 where g(x,y)=xyg(x,y) = xyg(x,y)=xy 주의 min 인지 max 인지는 모름. 직접 넣어봐야 알 수 있다. 혹은 min 인지 max 인지 적절한 knowledge..
Bit Vector 0≤i≤N0 \le i \le N0≤i≤N 이라 하자. i번째 원소에 1 을 저장하거나 이미 1인지 검사하는 문제를 생각해봅시다. int *A = new int[N](); // 0으로 초기화 if(A[i]==1) printf("이미 1") else A[i] = 1 int가 4 byte이므로 총 4N byte가 필요할 것입니다. 공간을 줄일려면 크기가 N인 bool 배열을 생성하면 됩니다. bool *A = new bool[N](); // false로 초기화 A[i] = True; bool은 크기가 1byte만 가지므로 총 N byte가 필요합니다. 하지만 크기를 더 줄일 수 있는데요, 1, 0 두 개만 저장하면 되므로 1byte가 아니라 1bit가 필요합니다. int는 대부분의 컴파일..
VS Code에서 R을 사용할 수 있을 것 같아 찾아보았더니 역시나.. 1. Extension에서 R을 검색한다.2.Command palette(ctrl + shift+ p) 를 열고 setting 검색3. 왼쪽의 Extensions에서 R을 찾고 각자 운영체에 맞는 버전에서 R을 설치한 경로를 입력해준다.필자의 경우 R을 기본경로에 설치했기 때문에 이미 입력된 경로에서 버전만 바꿔줬다.(R-3.5.0 => R-3.5.1)4. 폴더를 만들고 Test.R을 생성 후 실행해보았다(ctrl+shift+s) 더 자세한 설명은 Extensions에서 개발자의 설명을 보면 된다.
- Total
- Today
- Yesterday
- sublime text
- cross validation
- 교차검증
- 비쥬얼스튜디오코드
- vscode
- scikit learn
- 사이킷런
- 비트 벡터
- Visual Studio Code에서 R
- vs code
- sklearn.model_selection.KFold
- r
- Pytorch Variable
- 사이킷런 KFold
- variable
- Pytorch .data
- 박사과정 #PhD
- Bit vector
- 파이토치
- pytorch
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |