-
TIL
Conv1D, Conv2D, Conv3D 차이
말 그대로다. 1차원 배열 데이터에는 Conv1D를, 2차원 배열 데이터에는 Conv2D를 사용한다. 아직까지 Conv3D를 사용해 본 적은 없지만 마찬가지로 3차원 배열 데이터에 사용한다. 즉, Conv1D, Conv2D, Conv3D 차이는 입력 데이터의 차원이다. 그런데 여기서 끝나면 의문이 생긴다. 코드를 보자. model = tf.keras.models.Sequential([ # Note the input shape is the desired size of the image 150x150 with 3 bytes color tf.keras.layers.Conv2D(64, (3,3), activation='relu', input_shape=(150, 150, 3)), tf.keras.layers.M..
-
TIL
sigmoid보다 tanh를 쓰는 이유
1. sigmoid보다 tanh의 기울기가 더 크기 때문이다. 기울기가 더 크면 경사 하강법을 할때 더 큰 step으로 W와 b를 업데이트할 수 있으므로 더 빨리 cost를 0으로 만들 수 있다. cost는 0에 가까울수록 성능이 좋으므로 일반적으로 sigmoid보다 tanh가 성능이 더 좋은 것이다. 2. 기울기 편향을 피할 수 있다. 그래프를 보면 sigmoid는 (0,1)의 범위를 가지고 있고, tanh는 (-1,1)의 범위를 가진다. 모든 입력 벡터가 양수값을 가지고 있을때, 양의 값만을 가지는 sigmoid는 역전파를 할 때 모든 가중치가 같은 방향으로 움직이게 된다. 모두 증가하든지, 모두 감소하든지 말이다. 즉, 이동 방향이 편향될 수 있다는 단점이 있다. 하지만 tanh는 (-1,1) 범위..
-
프로젝트
여행 앱 분석 (2) 마이리얼트립
마이리얼트립-앱스토어 여행카테고리 앱 15위 (25. 07. 20 기준)-투어/티켓 예약 앱으로 주로 사용-좀 더 깔끔하고 현대적인 디자인이라 젊은 이미지가 강함 좋은 기능-상품 가격 메리트 (에어텔 특가, 혜택 페이지 등). 여기어때(2022 실시) 따라서 최저가 보장제 실시 -유럽 열차 예약, AI 여행 플래너 등 필요한 기능을 가장 빨리 내놓는 이미지가 강함 -특히 유럽 열차 예약은 한국어로 예약가능하고 고객센터도 한국인 상담원이 응대하는 점에서 굉장히 편리함 (But, 가격은 더 비싸서 번거롭더라도 유럽 열차 앱으로 예약함) -나에게 맞는 패스 찾기 -스위스 패스 정하는데 머리 아팠는데 도움됨. 특히 유럽 여행할 때 어떤 패스 사야하는지 한참 찾아보곤 하는데, 이렇게 설문조사 형식으로 응답..
-
프로젝트
엔트리(ENTRY)로 만든 게임 - 미로 게임
이 게임은 라는 수업에서 진행한 팀 프로젝트이다. 코딩 교육의 중요성이 커지면서 내가 입학한 이후로 교양필수가 되어버린 수업이다. 이때까지는 내가 코딩을 하게 될 줄 몰랐지(^^)... 프로젝트에 대해 간단히 설명하자면, 피지컬 컴퓨팅 프로젝트였다. 피지컬 컴퓨팅이란 디지털 기술 및 장비를 이용하여 사용자로부터 물리적인(physical) 방식으로 정보를 입력 받아[Sensors] 처리한 결과를 물리적 방식[Actuators]으로 출력하는 컴퓨팅을 의미한다. 뭔 소린지 잘 모르겠으니 내 프로젝트를 예를 들어 설명해보겠다. 노트북에서 엔트리로 코딩을 하고 이를 센서보드와 같은 피지컬 컴퓨팅 도구와 연결한다. 센서 보드에는 소리 센서와 슬라이더 등이 있는데, 소리 센서에 바람을 불 수도 있고 슬라이더를 좌우로..
-
Scikit-learn
LightGBM 정리
개념 LightGBM은 기존 GBDT (Gradient Boosting Decision Tree)의 한계를 극복하기 위해 만들어진 모델로, 같은 accuracy를 유지하면서 계산 속도는 더 빠르고 메모리 사용량은 더 적은 GBDT이다. GBDT (Gradient Boosting Decision Tree)란? GBDT에서 gradient는 손실 함수의 그래디언트(gradient)가 아니라 예측값과 실제 타깃값의 잔차(residual)를 의미 GBDT는 손실 함수를 최소화하는 모델을 만들기 위해 이러한 잔차를 줄이는 방향으로 모델을 학습 각 트리는 이전 트리가 만든 잔차에 대해 학습하며, 잔차에 대한 예측값의 그래디언트를 기반으로 합니다. cf) boosting은 약한 학습기(분류기/예측기)를 여러 개 연결..