본문 바로가기

분류 전체보기

(34)
<나의 중심을 지키는 법 : 더 프랙티스를 읽고> #대학교 독후감 과제임 나는 학교를 정신없이 다니다 보니, 벌써 한 학기 후 졸업을 앞두고 있다. 나는 사실 학교를 다니면서, 동아리나 대외활동에 대한 경험이 별로 없고, 그렇다고 다른 인생경험이 많은 것도 아닌, 그저 ‘전공공부’, ‘운동’, ‘여유’ 라는 세 단어로 요약되는 대학생활을 3년동안 해왔다. 올해 들어서 나에게 생긴 자그마한 변화는, 현실이나 여러 미디어를 통해 접하는 많은 타인들 (아마도 매체를 통해 접한다는 것은 자기 분야에서 어느 정도의 성과를 이룬 사람들일 것이다.)의 장점을 보며, “내가 저렇게 되기 위해서는 어떻게 해야 할 까?”, “나는 저렇게 될 수 있을까?”와 같은 생각을 하기 시작했다는 것이다. 기업가정신특강 강의를 통해 자신의 비즈니스를 잘 일궈나가고 있는 사람들에 대한..
헤시안행렬(Hessian Matrix)와 볼록성 (x,y)가 다변수 함수의 임계점일 때. 헤시안 행렬의 고유치가 모두 양수 양정치: (x,y)는 극소점 -> 어느 방향으로 이동해도 아래로 볼록 모두 음수 음정치 : (x,y)는 극대점 -> 어느 방향으로 이동해도 위로 볼록 양수도 있고 음수도 있음 : (x,y)는 안장점
다변량 정규성 검정 *sas 공식 블로그에 있는 글을 요약해서 번역한 포스트 입니다. ** 원본 링크 : https://blogs.sas.com/content/iml/2012/03/02/testing-data-for-multivariate-normality.html Testing data for multivariate normality I've blogged several times about multivariate normality, including how to generate random values from a multivariate normal distribution. blogs.sas.com 개인 프로젝트 중 다변량 정규검정을 시행할 일이 있어 인터넷을 뒤지던 중 위의 포스트를 찾았다. 핵심아이디어는 다음과 같다..
<금융공기업> 금융감독원 통계직렬 2022년 통계직렬 선발 : 9명 1. 지원서접수 2. 1차 필기전형 : 필기성적 : 영어성적 9:1 비율로 합산하여 선발 * 영어는 toeic 730 이상 시 만점 * NCS ** 채용인원 10배수 이내 선발 3, 2차 필기시험: *논술 ; 공통(금융논술) , 전공지식 각 200점 ** 채용인원 2배수 이내 선발 4. 1차 면접 *개별면접 / 집단토론 *채용인원 1.3배수 이내 선발 5. 2차 면접 * 주로 인성 등 종합적 평가
<금융공기업> SGI서울보증 통계직렬 - 2022년공고 1. 서류전형 2. NCS 3. 통계전공시험 (논술) 4. 면접
Attention is all you need * transformer 논문을 읽고 이해한 바를 ppt로 만들었다.
[다변량 통계학] Levine Test 와 Welch's Anova Sas에서 ANOVA 프로시저를 이용하여 분산분석을 할 때, 분석 대상 데이터가 처리에 따른 등분산성을 만족하지 못할 수 있다. 이럴 때는 먼저 1. Levine Test를 이용해 처리에 따른 이분산성을 검정한다. 2. Welch's anova를 사용하여 분산분석을 시행한다. 두 기법이 뭔지는 시험 끝나고 나중에 공부해보자.. 쨋든 코드로 구현하면 다음과 같다. proc anova data=roots; class stock; model girth4 growth girth15 weight = stock; means stock / hovtest welch; run;
제 1회 신한 빅데이터 해커톤 참가 후기. 지난 1주간, 난생 처음으로 데이터 분석관련 대외활동에 참가한답시고 1주일동안 만사를 제껴두고 제 1회 신한 빅데이터 해커톤을 위한 데이터 분석에 몰두했다. 그리고, 결론적으로, 나의 첫 데이터 분석은 '대실패'했다. 내가 1주일간 몇십시간을 투자해서 만든 모델은 형편없었으며(심지어 랜덤모델과 큰 차이가 없는 예측능력..) 보고서(ppt)또한 만들지도 못했다... 정확히 말하자면 만드려다가 포기했다. 부족했던 시간도 문제겠지만 보고서를 만들면서 나의 결과물에 대한 현타와 함께 내가 주어진 문제의 본질도 모르고 있었다는 것을 깨달아 버린 순간, 어떻게든 결과물을 만들어서 제출하겠다던 나의 의욕은 사라져버렸다. 그렇다면 이번 대회가 나한테 시간낭비였을까. 그것은 절대 아니라고 생각한다. 사실 그 시간동안 전..
Stateful RNN의 input data 에 대한 이해 * 핸즈온 머신러닝(2판) 16장 내용 중 이해한 내용을 바탕으로 쓴 글임. * 개인 공부를 위해 이해한 바를 적은 글이기 때문에, 사실과 다른 내용이 있을 수 있습니다. 상태가 있는 RNN에 관하여, 책에서는 이렇게 설명하고 있다. 먼저 상태가 있는 RNN은 배치에 있는 각 입력 시퀀스가 이전 배치의 시퀀스가 끝난 지점에서 시작해야 합니다. 따라서 상태가 있는 RNN을 만들기 위해 첫 번째로 할 일은 순차적이고 겹치지 않는 입력 시퀀스를 만드는 것임. 정확히 무슨 뜻인지를 파보자. 먼저 배치의 개념을 다시 생각해보자. 배치의 개념만 정확히 이해해도 위 내용을 이해하는 것은 쉽다. 배치란, 신경망이 파라미터를 업데이트 하는 단위임. 즉, 배치 내의 모든 데이터가 한 번에 모델에 입력되고, 이를 바탕으로 ..
잔차 학습<residual learning> in ResNet * 핸즈온 머신러닝 14장을 읽고, 이해가 가지 않는 내용을 정리한 글임. 책을 읽던 도중, ResNet의 잔차학습이라는 것이 무슨 의미가 있는지 이해가 전혀 되지 않았다. 구글링을 통해 간단히나마 이해한 내용을 정리해보도록 한다. 일반적인 신경망에서, 우리의 목적은 목적함수 h[x]를 모델링하는 것이다. 즉, input x를 넣었을 때, 그 모델을 통과해서 나온 출력값을 이용하여 산출한 목적함수 h[x] [cost function이라고 가정하자] 는 0에 가까워야 할 것이다. 그런데 input x를 네트워크의 출력에 더한다면, [이를 skip connection이라고 한다], 모델의 목적은 H[X] - X를 최소화 하는 것이 된다. H[X] - X를 residual function이라고 해서, 이 주제..
1 x 1 convolution ? GoogLeNet에 대해서 공부하던 도중, 1 x 1 convolution을 왜 쓰는지에 대하여 이해가 되지 않았다. 구글링과 책에 나온 정보를 종합할 때, 다음과 같은 몇 가지 장점이 있다. 깊이 차원의 패턴 감지.[당연히 공간상의 패턴은 감지할 수 없다.] 차원[정확히 말하면 channel]의 수를 원하는 만큼 줄일 수가 있다. 비선형성 증가. [핸즈온 머신러닝에서는 이 특성을 '스테로이드 주사를 맞은 합성곱 층' 으로 비유하고 있다.] 일단, 비선형성 증가라는 특징은 각 Convolution Layer를 일반 신경망의 Dense layer라고 고려하면 매우 자명하다. 깊이 차원의 패턴 감지와 차원감소 특징의 경우 역시, 굉장히 자명하지만, 내가 convolution에 관해 잘못 이해를 하고 있었기 ..
텐서플로에서 데이터 적재와 전처리하기 * 본 글은 핸즈온 머신러닝 13장을 읽고, 내용이해를 위해 정리한 것임. 지금까지의 내용은 분석 대상 데이터의 용량에 신경쓰지 않았다. -> 데이터 용량이 매우커서, 단일 파일이나 객체(ex : np.array 등)에 저장하는게 불가능한 크기라면? ! 텐서플로는 데이터 api 덕분에 이를 쉽게 처리할 수 있다. ㄴ 데이터 api? 데이터와 이용자 사이를 연결해주는 인터페이스 정도라고 생각하면 될듯. ㄴ tf.data.Dataset 개념. : 연속적인 데이터 샘플. ㄴ 왜 np.array 말고도 새로운 개념을 적용해야 하는지? : dataset 객체가 tensorflow에서 가장 성능이 좋다 정도로 알아두자. 텐서플로에서는 대용량 데이터 저장/읽기 위해 TFRecord라는 포맷을 선호. ㄴ TFRecor..
독서 기록 평소에 접할 기회가 별로 없는 인문학 위주로, 꾸준히, 생각하며. 1. 정의란 무엇인가 (마이클 샌델), 22.08.24~ 2.
Amazon Cloud Practitioner Essential 2022년 8월 18일~8월 19일, [빅데이터 혁신공유사업] 에 연계되어 AWS Cloud Practitioner Essential 과정을 수강하게 되었다. 나는 평소 클라우드에 대하여 문외한인데, 클라우드라는 개념에 대해서 간단히 배워보고자 과정을 신청하게 되었다. 다음은 8월 18일 Amazon Cloud Practitioner Essentials 코스를 요약정리 한 것이다. 1. Amazon Web Services 소개 AWS에서 서버를 미리 구축해놓음(데이터 센터) -> 서버 virtualization : 서버의 일부를 가상화 : 서버를 소프트웨어 개념으로 만듬 -> Resource 형태로 만들어서 제공 (service의 형태으로 제공 : API(어플리케이션으로 만들어서 제공)) - ex : 컴..
InvalidArgumentError : Graph execution error 간단한 케라스 딥러닝 모델을 구축하던 도중, 다음과 에러가 떠서 애를 먹었다. Code: InvalidArgumentError: Graph execution error: Detected at node 'sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits' Node: 'sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits' logits and labels must have the same first dimension, got logits sha..
NMF (비음수 행렬분해) NMF는 PCA와 비슷한 용도로 사용되는 차원축소기법이다. NMF에서는 음수가 아닌 성분과 음수가 아닌 계수 값을 찾는데, 즉 주성분과 계수가 모두 음수가 아니어야 한다. 결국 음수가 아닌 특성을 가진 데이터에만 적용할 수 있다. 이름에 걸맞게, NMF는 데이터를 행렬분해 하여, 특징성분을 추출해낸다. 예를 들어, A X B의 차원을 가진 데이터 행렬은(이 때, 같은 열에 있는 원소들은 동일한 특징을 표현하고, 동일 행에 있는 원소들은 동일 데이터를 표현함) A X K 차원의 행렬과 K X B 차원의 행렬로 분해 될 수 있다. 그렇다면, 데이터 행렬의 n번째 열은 A X K 차원 행렬의 열들의 선형 결합으로 이루어지고, 이 때 B X K 차원 행렬의 열은 계수가 된다. 즉, 원본데이터의 어느 모든 특징들..
Introduction to Machine Learning with Python(IMLP): Chap 2 지도학습 1회독 기간 : 22.06.26 ~ 22.07.06. 2회독 기간 : 22.07.10 ~ 3회독 기간 : 2회독 째에는, 책의 흐름을 보다 이해를 깊게 하기 위해 단원별로 대략적인 내용과 코드를 정리해서 블로그에 올려보고자 한다. (내가 잘 모르는 내용 중심으로) 지도학습 KNN - KNN 분류기 : 가장 간단한 알고리즘. from sklearn.neighbors import KNeighborsClassifier clf = kneighborsclassifier(n_neighbors = 3) # 인자는 neighbors 수 / 거리 재는 방법(euclidian으로 하자) clf.fit(X_train, y_train) 이웃 수를 늘릴수록 less flexible - KNN 회귀 : neighbors의 평균으..
대표적인 데이터 스케일링 방법들. 머신러닝에서 데이터 스케일링을 하는 이유는, SVM과 신경망기법, 그리고 unsupervised learning 등에서 데이터 스케일링이 모델 성능에 영향을 미치는 일이 발생하기 때문이다. 대표적으로 네가지를 언급하겠다. 1. Standard Scaler : 일반적인 데이터 표준화 Z. 평균과 분산을 사용. 2. Robust Scaler : 평균, 분산 대신 중위값과 사분위수를 사용. 평균과 분산과 달리 outlier에 의해 중위값과 사분위수는 거의 영향을 받지 않으므로, oulier의 영향력이 적다. 3. MinMaxScaler : X - min / (max-min). 즉 ,변환값이 0과 1사이에 위치 4. normalizer : 변환값이 단위원 위에 위치토록 한다. 즉, 각 데이터 포인트가 다른 비율..
Random Forest vs Extra Trees 이 두개의 차이는 크게 두가지다. 1. Bootstrap 이용 여부 - random forest 는 부트스트랩 샘플링을 사용하지만, extra trees는 이를 사용하지 않고 original dataset을 사용함 2. 트리 분할 시 변수 선택 과정 - 각각의 알고리즘에서 만들어지는 다수의 트리 중 하나의 트리를 생각하자. random forest의 경우, 각각의 트리에서, bootstrap 샘플링된 데이터를 바탕으로 랜덤한 features들을 사용하여 만들 수 있는 최적의 트리를 생성한다. -반면, extra tree의 각각의 트리에서는, original data를 바탕으로(차이점 1) 랜덤한 feature들을 사용하지만, (랜덤포레스트와 동일) 최적의 트리를 만드는 것이 아니라, 각각 split 지점..
RandomForest 의 장단점 단점. 매우 차원이 높고 희소한 데이터에는 잘 작동하지 않는다. 선형모델보다 많은 메모리를 사용하며 훈련과 예측이 느리다. 장점. 매우 큰 데이터셋에도 잘 작동함. 회귀 / 분류에 있어서 현재 가장 널리 사용되는 머신러닝 알고리즘.
모형 타당성 검증 : 잔차분석 우리가 회귀분석을 이용하여 데이터를 분석할 때, 따르는 몇가지 기본 가정들이 있다. Y와 X는 선형 관계를 이룸 랜덤 오차 Epsilon의 등분 산성 랜덤 오차 Epsilon의 독립성 랜덤오차 Epsilon의 정규성 랜덤오차 Epsilon의 평균은 0. 풀어서 쓰면 위의 5가지 가정을 베이스로 하여 회귀분석이 이루어지는 것이다. 자. 이제 회귀분석을 다 했다고 하자. 결과가 어땠든 간에, 이 모델이 타당하다고 할 수 있을까? 아까 가정이 옳음을 보이지 못한다면, 회귀분석 과정 자체에 대한 의구심이 생길 수밖에 없다. 위 가정이 옳음을 보이는 것을 '모형 타당성 검증'이라고 한다. 모형 타당성 검증이 어떻게 이루어지는지를 알기 전에, 만약 모형 타당성 검증을 했는데 위 가정이 틀리다고 결과가 나왔다면, 무..
Logistic Regression 에서의 Regularization 머신러닝 초보자인 나는 지금 introdution to Machine Learning with Python이라는 책을 보고 있다. 책을 보던 중 지도학습 파트의 선형 이진 분류기 부분에서, Logistic Regression 과 SVM 내용이 나오는데, 여기서 regularization 의 개념이 나온다. 물론 Lasso 와 Ridge regression에서의 regularization의 개념은 배운 바 있지만, Logistic Regression에서의 규제는 어떻게 적용하는지 들어본 바 없었다. 로지스틱 회귀에서의 규제항? 로지스틱 회귀를 자세히 봐보자. GLM 구성요소에 따라 이를 분석해보면, Random Component : Y ~ B(P) -> y는 확률이 p인 이항분포를 따른다. Systemic..
Shrinkage Methods using R Shrinkage Methods 로 대표적인 방법은 ridge regression 과 lasso이다. 이들은 각각 선형다중회귀식에 각각의 제약을 부과하여 비교적 영향력이 약한 변수들의 효과를 약화시키는 효과를 준다. 이때 이러한 제약의 정도를 대표하는 값을 lambda라고 두었다. 이를 R에서 구현한 함수들을 알아보자. 먼저 사전작업이 필요하다. 입력데이터 행렬을 만들어 줘야한다. x
2022 여름방학 checklist 1. 무릎 수술 : 이것때매 활동적인 활동들은 당분간 힘들 것 같다ㅠㅠ 2. Adsp 취득 3. Sas Base 취득 : 어차피 학교 계속 다니려면 필요할듯 4. 사회조사분석사 필기합 5. 1학기 정리 겸 블로그 포스팅 6. 머신러닝 공부 - 핸즈온 머신러닝 7. 영어 speaking : 전화영어?
Subset selection using R : regsubsets() 주어진 데이터에 쓸 수 있는 예측변수가 너무 많을 때, 그 중 어떤 것을 선택할 것인지는 모델 생성에서 아주 중요한 문제이다. 이 때 regsubsets() 함수는 , Best Subset selection, forward selection ,backward selection을 모두 지원한다. library(leaps) regfit.full
Resampling using R : Cross-validation / Bootstrap 1 Cross-validation(교차검증) 을 위한 R함수로, boot 라이브러리의 cv.glm함수를 사용할 수 있다. library(boot) #glm.fit 이라는 generalized linear model이 있다고 가정을 하자. cv.err n = 데이터 수 : LOOCV 수행 #cv.err$delta : 길이가 2인 벡터를 반환하는데, 첫번째는 raw cv error 추정값, 두번째는 수정된 cv error 추정값이다. #이 때, cv.glm 안에 lm모델을 넣으면 cv가 제대로 동작하지를 않는다. #family 인자를 지정하지 않으면 glm도 least square estimate를 산출하므로, glm 모델을 인자값으로 전달하도록 하자. 2. Bootstrap을 할때는, boot라이브러리의 ..
R을 이용한 Classifiers : LDA, QDA, NaiveBayes 반응변수가 범주형 변수 일 때, 예측변수와 반응변수간의 관계를 설명하는 분류기(classifiers) 모델링이 쓰이게 된다. 다양한 모델들이 있지만, 그 중 Logistic Regression, LDA, QDA, NaiveBayes 모델 이 가장 널리 알려진 것들인데, 이것들은 모두 R에서 이미 구현이 되어있다. LDA, QDA, NaiveBayes 에 관해 간단히 설명을 하자면, (베이즈 정리를 통한 설명) 이들은 모두 베이즈 정리를 응용하여, 즉 적절한 가정과 이미 주어진 사전확률을 통하여 사후확률(posterior)을 예측하는 모델들이다. 이 때, 사전확률(prior) P(X= k | Y )에 대하여, 각 Y의 수준에서 X의 분포가 정규분포를 따른다고 가정을 한다. 이를 이용하면, 베이즈 정리를 통..
R : lm() / glm() 현재 학교에서 머신러닝 과목을 수강중인데, 이 때 사용하고 있는 언어가 R이다. 한 때는 (군대가기전) R을 열심히 했던 시기가 있었는데, 군대를 다녀오니 R의 기초문법도 머리 속에 남지 않은 상태가 되어버렸다. 전역 후 한동안 파이썬을 주로 사용했기 때문인지, 자꾸 머릿속에서 R과 파이썬의 개념이 혼동되어 이 과목을 공부할 때마다 머리가 어지럽다.. 이 과목을 공부할 때마다 느끼는 건, R이 꽤나 직관적인 머신러닝 함수들을 제공한다는 것이다. (사실 파이썬도 잘 모르긴 하는데, 내가 본 몇개의 statsmodels 모델링 함수들보다는 훨씬 직관적이라고 느꼈다.) 이를 제대로 활용해보고, 또 기억에 남기고자 R 머신러닝 함수 syntax에 대한 포스팅을 하고자 한다. 1. 선형회귀적합 library(IS..
Pandas read_json 함수 : json 파일 읽기 JSON : javascript object notation 의 준말. 형태를 보니, 파이썬의 dictionary와 비슷한 형태를 띄고 있다. 마침 여러줄로 된 json파일을 pd.read_json을 이용해 가져올 일이 있었는데, import json records = [json.loads(line) for line in file] 책을 보니 한 줄 씩 추출하도록 되어있길래, 한번에 할 수 있는 pd.read_json을 이용해 해보기로 했다. pd.read_json(file) 문제는 이렇게 여러 줄로 된 json 파일을 읽을 때, trailing data라는 오류가 발생한다. 아마 여러줄을 읽는 과정에서 생기는 에러같은데, pd.read_json(file, lines = True) 뒤에 lines 인자를..
<중회귀분석> 2. 중회귀분석 추정계수의 Properties 앞 포스팅에서, $$ \hat{B} = (X'X)^{-1}X'Y $$ 임을 보였다. 이제, B_hat의 성질에 대하여 탐구해보자. 우리가 사실 궁금한 것은, B_hat을 True B의 추정량으로 쓸 만 한가? 그리고 그 분산은 어떻게 되는가? 이다. 따라서, 우리가 알아볼 properties 들은 다음과 같다. 1. B_hat이 unbiased estimator인가? 2. B_hat의 분산은 어떻게 되는가? 차례로 알아보자. 1. B_hat이 unbiased estimator인가? $$ E(\hat{B}) = E((X'X)^{-1}X'Y) = E((X'X)^{-1}X'(XB + \varepsilon)) $$ $$ = E((X'X)^{-1}X'XB) + E((X'X)^{-1}X'\varepsilon) = ..