Data Diary (166) 썸네일형 리스트형 2021-10-5(따릉이 프로젝트 완성하기 10) 요약 rush_hour 파생변수 추가 Dense Layer 추가 1. Rush_hour 파생변수 추가 #잔차분포 확인 Xtrain_predictions = best_model.predict(X_train[x_columns]) sns.displot(x=Xtrain_predictions-Y_train) plt.show() grid의 best model로 잔차 분포를 확인해 봤습니다. 제 생각에는 성능을 저하시키는 요인이 양 끝 부분에 차지한 loss들 때문이라고 생각했습니다. max, min 값의 인덱스를 가지고 데이터를 살펴보았습니다. min(Xtrain_predictions-Y_train),max(Xtrain_predictions-Y_train) (-162.76608924934504, 118.888187.. 2021-10-04,05(딥러닝 CNN_기본 특징 설명) 실습내용은 아래 링크에서 확인할 수 있습니다. 2021.10.05 - [실습 note] - CNN_Fundamental 실습 모음 CNN_Fundamental 실습 모음 해당 실습은 iflearn "CNN_Fundamental" 강의에서 사용되었습니다. 실습 진행 순서대로 list-up 했습니다 1. Gradient Descent_01 Gradient_Desecent 내용은 딥러닝 수학 강의에서 배웠으므로 따로 이론을 정리하.. ghdrldud329.tistory.com CNN은 이미지를의 일 부분을 자동으로 뽑아서 featrue로 사용한다. 반면 머신러닝은 일일히 feature를 뽑기 때문에 효율이 떨어진다. 또한 가변적으로 feature들이 변하기 때문에 성능에도 큰 영향을 주었다. 딥러닝은 Univ.. 2021-09-30(딥러닝 CNN 2_Optimizer) 우리가 원하는 포인트는 가장 최저점을 나타내는 global point이다. 하지만 위 그림처럼 local 포인트에 빠지거나, 평평한 부분인 saddle 포인트를 만나면서 최저점이라고 인식하는 오류를 범할수 있다. 이를 해결하기 위해 다양한 optimizer들이 등장했다. 주요 Optimizer들이다. momentum은 GD값을 조정하고, adagrad,rmsprop은 lr을 조정한다. adam은 GD,lr 모두 조정하면서 최적점을 찾는다. *Momentum 과거의 GD에 Momentum 가중치를 적용하여 새로운 GD를 계산한다. 기존의 GD는 wt+1 = wt- GD 이다. momentum은 이 GD에다가 감마라는 가중치를 적용해 준다. 헷갈리지 말아야 할점은 새롭게 구한 gradient에 감마를 곱하는.. 2021-09-26,29(딥러닝 CNN 1_활성화 함수의 이해 & 크로스 엔트로피) iflearn의 CNN 완벽가이드를 새로 시작했습니다. 초반 강의는 딥러닝 수학 강의 내용과 겹쳐서 내용은 생략했습니다. 활성화 함수 part부터 업로드 합니다. 활성화 함수는 사용하는 이유는 비선형성으로 만들기 위함이다. 활성화 함수가 없다면 선형함수로써 왼쪽처럼 구분이 된다. 하지만 오른쪽 처럼 비선형이 적용되면 과적합 문제가 발생하기 쉽다. 활성화 함수 별 사용용도를 아래 그림을 통해 확인한다. 각 활성화 함수별 사용 용도가 각각 다르다. *Sigmoid 함수 특성 X값이 양으로 100 이든 1000이든 출력은 1로 수렴이 된다. X값이 음수로 -100이든 -1000이든 출력은 0으로 수렴이 된다. 이때 sigmoid의 미분를 표현한 파란색 분포를 보겠다. X가 음수든 양수든 커질수록 어찌됐든 1과.. 2021-09-28(따릉이 프로젝트 완성하기 9) *주요 요약 seasonal 추가 오존,미세먼지,초미세먼지 변수 -> 카테고리로 변경 지금까지 여러 파생변수를 만들어 보고 실험해 봤는데 대부분이 쓸모 없었습니다 아마 오늘을 끝으로 변수에 대한 FE는 마무리가 될것 같습니다. 다음 시간부터는 최적의 모델링을 찾는데 시간을 쓸것 같습니다 1. Seasonal 추가 시계열 기법중에 분해기법이 있습니다. 계절성 정보를 넣으면 예측에 유리할 것같아서 시도 해봤습니다. 제가 가지고 있는 데이터는 날짜 형식이 아니며, 순서도 뒤죽박죽이기 때문에 grouby로 hour 별 mean 값을 구한 뒤, 가짜 날짜 변수를 생성하여 seasonal을 구했습니다. 그 후 각 시간별 seasonal 정보를 매칭시켜서 원본 데이터에 적용했습니다. train_tem = train... 2021-09-25(Learn github) 오늘은 깃허브에 대해 공부했습니다. 그 전부터 몇번 시도는 했었으나 branch는 뭐고 commit은 뭔지 도통 감이 잡히지 않아서 나중에 하기로 미룬지가 거의 반년이 넘어 갔습니다. 공부 할수록 깃허브의 중요성을 조금씩 알게 되었고, 프로젝트를 만들면서 버전관리에 중요성을 깨달았는지라 오늘 시간을 내어봤습니다. 개념을 빠르게 배우기 위해서 유튜브 강의를 시청했습니다. (아래는 해당 링크 입니다) https://www.youtube.com/watch?v=-27WScuoKQs&t=751s 영상 총 길이가 1시간 좀 넘었는데, 좋은 설명 덕분에 이해하기 수월했습니다. 현재는 배운내용을 토대로 commit과 push를 연습 중에 있습니다. 이 과정에서 몇 시간동안 제 발목을 잡은 에러가 있었습니다. 소스트리에.. 2021-09-22(따릉이 프로젝트 완성하기 8) 저번 포스팅 마지막에는 count의 분포와 비슷한 파생변수를 만든다는 말 끝으로 끝냈었습니다. 예고 했듯이 제 나름대로 target 변수를 설명해줄 파생변수를 2가지 만들어 봤습니다. 그 외로 몇가지 더 실험해 보았는데 이는 아래 주요 요약에 적어 놓았습니다. *주요 요약 target 분포를 설명해줄 파생변수 2가지 변수들의 왜곡 확인 & target 변수의 이상치 제거 스태킹 모델 1. target 분포를 설명해줄 파생변수 2가지 1.1 시간별 평균 이용 수 train_df = train.copy() test_df = test.copy() train_df['cue'] = 0 test_df['cue'] = 1 df = pd.concat([train_df,test_df],axis=0).reset_index.. 2021-09-19(딥러닝 수학16) 지난 포스팅에 이어서 th가 2개 이상인 멀티에서는 Update가 어떻게 진행이 되는지 살펴보도록 합니다. 이해를 돕기 위해서 input data가 1개라는 가정하에 진행합니다. 눈에 띄는 점은 th가 2개 이기 때문에 따로 분리가 된다는 점이다. Loss까지 구할 수 있으며 이를 편미분 하게 된다면 아래처럼 계산이 된다. 이 값들을 이용하여 backward를 간편하게 구할수 있다. 빨간색이 backward 진행 상황을 나타낸다. 빨간색 backward 값을 받은 Z2-2은 th1과 th2 두 방향으로 보내줘야 하는데, 전달되는 값을 보면 초록색 부분이 각각 1이므로 -2(y-y^)값을 그대로 전달한다. 나머지 부분도 편미분을 전개하면 아래와 같이 정리할 수 있다. 만일 X가 한개가 아니라 m개라면 어떻.. 이전 1 2 3 4 5 6 ··· 21 다음