분류 전체보기 117

[ Data Handling ] Data Class Imbalance Problem

데이터 클래스 불균형 문제 데이터 분석시 대부분의 데이터에서 우리는 데이터 불균형 문제를 마주하게 됩니다. 데이터 클래스 불균형이란, 예를 들어 타겟 클래스가 1, 2 두 가지인 데이터 세트에서 클래스 1의 데이터가 90%인데 반해 클래스 2의 데이터가 10% 밖에 없는 경우를 뜻 합니다. 이러한 클래스 간의 불균형 문제를 해결하지 못한다면 결국에는 우리는 의미 없는 모델을 최적화하려고 애쓰는 자신을 발견하게 됩니다... 데이터 불균형이 있는 있는 상태에서도 간단한 모델을 이용한 예측으로도 90%의 정확도(accuracy)를 얻을 수 있습니다. 왜냐? 데이터의 90%가 A 클래스이기 때문에 계속해서 모델의 예측값이 계속 A여도 정확도는 90%가 될 것 입니다. 여기서 정확도가 90%라는 것만 보고 쉽게 ..

[Data Handling] Reduce Memory Size for Dataset

데이터 메모리 사이즈 줄이기 kaggel competition에 참여하다보면 데이터가 size가 너무 커서 다루기가 힘든 경우가 있습니다. 이런 경우에 간단한 방법으로 데이터 셋의 메모리 사이즈를 줄여주는 방법을 정리한 Kernel이 있어서 개인 공부 겸 정리합니다. 데이터셋 메모리 사이즈 줄이기는 총 3단계로 이루어 집니다. [1] 단계 - Downcasting Numeric Columns python pandas는 int, float형 데이터를 불러올 때 자동으로 int 64와 float 64를 사용합니다. 하지만 대부분의 데이터는 그렇게까지 큰 메모리를 필요로 하지 않습니다. 따라서 첫번째 단계에서 우리는 int와 float형 데이터의 크기를 확인하고 그에 맞는 메모리를 사용하도록 지정합니다. in..

[논문 리뷰] Targeted Dropout

논문 Targeted Dropout에 대한 리뷰입니다. Dropout 가장 많이 사용되는 Bernoulli dropout 2가지(Unit dropout, Weight dropout)를 사용했습니다. Fully-connected layer with input tensor \(X\), weights matrix \(W\), output tensor \(Y\), 그리고 mask \(M_{i, o}\sim Bernoulli(\alpha)\)가 있을 때, 2가지 dropout에 대해서 다음과 같이 정의할 수 있습니다. - Unit dropout \(Y = (X\odot M)W\) Unit dropout randomly drops units (sometimes referred to as neurons) at eac..

논문 리뷰 2019.07.19

[독서] 넷플릭스 성장의 비결 POWERFUL

돌파해야할 문제가 주어져 있고, 그것을 함께 풀어나갈 적합한 동료가 있다는 것이 무엇보다 강력한 인센티브다. 회사가 직원들을 어른으로 대할 때, 직원들도 어른으로서 행동한다. 직원들에게 권한과 자유를 부여하라, 그들은 그에 책임감을 갖을 것이고 절대 남용하지 않는다. Value in these 9 Behaviors and Skills Judgment You make wise decisions despite ambiguity You identify root causes and get beyond treating symptoms You think strategically and can articulate what you are and are not trying to do You smartly separate..

인생../[ Book ] 2019.07.16

[독서] GRIT (그릿)

열정과 결합된 끈기, 투지, 불굴의 의지, 그릿(grit) "인간은 다양한 능력을 지니고 있지만 이를 활용하지 못한다. 최대치 이하의 열의를 보이고 최고치 이하로 행동한다." "대다수는 외적 한계 때문에 발전을 못하는 것이 아니다. 세상 사람들은 능력을 넘치게 갖고 있지만 매우 특출한 사람만이 그 능력을 전부 활용한다." 흔히 우리들이 말하는 '잠재력', 모든 사람들은 각자의 잠재력을 갖고 있으며 스스로 어떤 잠재력이 있는지를 빨리 발견하는 사람이 있는 반면에 인생의 절반을 살아온 뒤에 뒤늦게 발견하는 사람도 있다. 나 또한 아직 내 잠재력을 발견하지 못했다고 생각한다. 하지만 책에서 말하는 그릿은 잠재력 또는 재능과는 조금 다른 이야기다. 물론 재능은 정말 중요하다. 재능이 아예 없는 일에 끈기를 가지..

인생../[ Book ] 2019.07.16

[독서] 시간을 만드는 기술

우리는 모두 동일하게 주어진 시간속에 살아간다 하루 24시간 분으로 따지면 1440분. 누군가에겐 충분한 시간이 다른 누군가에겐 부족한 시간이 될 수 있다. 시간은 상대적이다. 재밌게 보내는 시간은 왠지 빠르게 지나가는 것 같이 느끼며, 지루한 시간은 정말 영원히 끝날 것 같지 않은 고통처럼 느껴진다. 나는 시간 관리에 재능이 없다. 내 하루하루는 시간에 맞춰서 움직이기보다는 내가 하고자하는 의지에 맞춰서 움직인다.밥을 먹어야할 시간이 정해져있지 않고 배가 고프면 밥을 먹고 졸리면 자고 책을 읽고 싶으면 읽고 영화를 보고싶으면 새벽이라도 심야영화를 보곤 한다. 어떻게 보면 인생에 답은 없지만, 이러한 생활은 책에서 말하는 시간 관리와는 전혀 반대되는 생활이라고 할 수 있다. 나는 시간 낭비를 하면서 인생..

인생../[ Book ] 2019.07.16

The Lottery Ticket Hypothesis

ICLR 2019에서 Best Paper에 선정된 "The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural" 논문에 대한 정리입니다. 이 논문은 Network Pruning에 관련된 논문으로 pruning은 쉽게 말해 뉴럴 네트워크의 사이즈를 줄이는 방법을 말합니다. 네트워크의 pruning을 위해서는 pre-trained 된 네트워크에서 불필요한 연결을 제거하여 네트워크의 사이즈를 줄임으로써 기존의 네트워크와 동일한 정확도를 유지하면서도 더 빠른 처리 속도를 얻기 위해 사용되는 기법입니다. Pruning에 대해서는 1990년도의 Yann Lecun 교수님의 논문 "Optimal Brain Damage"에서 처음 다루어졌습니다. 오늘 소개할 논문..

머신러닝/Vision 2019.06.24 (4)

ResNet 이해하기

아래 두 논문을 통해서 ResNet에 대해서 가볍게 이해해보자 Deep Residual Learning for Image Recognition Identity Mappings in Deep Residual Networks CNN이 이미지 인식 분야에서 뛰어난 성능을 보여주고 있었고, 네트워크의 층(layer)을 더 쌓으며 아주 깊은 네트워크를 구현하여 성능 향상을 이루고 있었습니다. 하지만 실제로 어느정도 이상 깊어진 네트워크는 오히려 vanishing/exploding gradient 문제 때문에 성능이 더 떨어졌는데 이러한 현상을 degradation problem이라고 합니다. 문제가 발생하는 이유는 weight들의 분포가 균등하지 않고, 역전파가 재대로 이루어지지 않기 때문입니다. ResNet은 ..

머신러닝/Vision 2019.06.04

[영화] Crazy, Stupid, Love

나 자신을 잃어버리지 말고 나 자신이 되려 노력하고 나의 인생을 살자 누군가가 되려고 하지 말자. 세상이 만들어낸 누군가가 되려 하지 말고 나 자신을 세상이 이해하게 만들자. 나를 누군가에게 맞추려하지 말고 나에게 주변 모든 것들을 맞추려 노력하자. 사람들은 자신에게서 멀어지는 것들을 본능적으로 쫓게 되어있다. 그들에게 나를 맞추려 하지 말고 "나"를 뚜렷하게 보여주고 나를 쫓아오도록 만들어야 한다. 세상에서 지혜로운 사람과 어리석은 사람 두 종류의 사람이 있다. 지혜로운 사람은 자신을 세상에 맞춰 간다. 그들은 큰 문제없이 잘 살아간다. 반면에 어리석은 사람은 세상을 자신에게 맞추려 애쓴다. 역설적인 사실은 어리석은 사람들의 우직한 노력들 때문에 이 세상은 변화하고 발전해왔다. 세상이 만들어 놓은 틀에..

인생../[ Movie ] 2019.05.20

[독서] 하버드 행동력 수업

나는 선천적으로 게으른 사람이다. 나 스스로도 그렇게 생각하고 주변에서 게으르다는 말을 많이 들었다. 가족이나 친구들로부터 넌 걱정 없이 정말 편하게 산다는 말을 많이 들었고 솔직히 나 스스로도 뭔가 서두르거나 크게 걱정하지 않고 '어떻게든 되겠지~'라는 마음을 갖고 살아왔다. 그러다가 정말 활동적이고 계획적인 한 친구를 알게 되고 나 스스로도 많이 바뀐 것 같다. 나에게 계획이란 그저 머릿속으로 앞으로 해야 할 일들을 몇 개 떠올리는 게 모두였다. 하지만 나와 정반대로 그 친구는 큰 백지위에 자신의 인생 계획을 자세하게 써냈고 그대로 행동으로 옮겨가며 자신의 목표와 꿈을 실현시키고 있었다. 처음에는 그런 모습을 봐도 큰 감흥이 없었다. 하지만 시간이 지날수록 왠지 모를 열등감? 스스로 뒤처지는 듯한 느..

인생../[ Book ] 2019.05.01