"평소에는 뭐하세요?" 그녀는 이렇게 물어봤었다. 저녁 늦게 팀플을 마치고, 지친 머리를 식힐 겸 두서없는 몇 마디를 주고 받는 중이었다. 하지만 무심코 들어온 질문에 나는 제대로 답을 하지 못했다. "그게... 유튜브 봐요." 머뭇거리다 나온 시시한 대답에, 그녀의 얼굴은 흥미를 잃은 티가 역력했다. '허름한 옷차림에 시시하기 짝이 없는 취미 생활을 가진 고학번 남학생' 이라고 적힌 포스트잇이 이마에 붙여지는 기분이었다. 하지만 어쩔 수 없었다. "나이키 에어맥스 시리즈를 검색해 보고 새로 나온 커스텀은 없는지 확인해봐요" 따위의 대답이 들어갈 분위기는 아니었으니까. 주름도 채 펴지지 않은 셔츠에 몇 년은 입은듯한 청바지를 고수하면서, 20만원은 기본으로 하는 운동화를 취미 삼아 구경한다니 이렇게 글로 써봐도 당최 말이 안되는 소리다. 하지만 정말 그렇다. 유일하게 가지고 있는 '에어맥스 97 미드나잇'을 3개월째 신고 있으면서, 이마에 붙여진 포스트잇에 온몸으로 저항하는 것이다. '사실 네 생각보다 더 단단하게 지면을 밟고 서 있다!'
자 그럼, 아두이노로부터 블루투스로 전송받은 센서값을 그래프로 표현해주는 안드로이드 어플로 할 수 있는 것이 무엇인지 생각해보자. 1. 실시간 그래프의 활용 그래프는 빠른 변화의 추이를 눈으로 확인하는 것에 도움이 된다. 특정 시점 전후를 직관적으로 표현해주기 때문이다. 2. 센서의 활용 센서를 활용하면 단순히 어떤 현상이 일어났음을 확인하는 것에 그치지 않고, 얼마나 일어났는지 확인할 수 있다. 또한 관찰자가 직접 보고 있지 않아도 된다. 3. 한계: 블루투스 사정거리 블루투스는 사정거리가 매우 짧다. 유선으로 연결하는 것보다는 길지만, 원격이라고 할 수 있을 정도는 아니다. 현재 장치의 특징과 한계를 종합해보면, 직접 보지 않고도 변화의 추이를 확인할 수 있으면서 사용자와 그렇게 멀지 않은 곳에 센서를 두고 모니터링하는 곳에 쓰이면 되겠다. 가장 먼저 생각할 수 있는 것은 수면 모니터링이었다. 위 영상에서 사용하는 것은 단순했다. 센서는 자이로스코프만을 사용하여 처음 시작 후 5분간 움직임이 없을 경우를 얕은 수면이라고 간주하였고 이후 움직임이 발생할 때마다 기록하는 방식이다. 잠자다가는 누구나 뒤척이지 않나 생각이 드는 것은 내가 잠버릇이 험하기 때문이지만, 그래도 너무 단순하다. 아 예쁘게 생겼네, 라는 것은 속마음이므로 어디 크게 말할 거리는 못된다. 이 영상에서는 호흡 측정, 자이로스코프, 심박 센서를 모두 사용한다. 근데 선이 많아도 너무 많다. 무선으로 정보를 모니터링 할 수 있으면 뭐하나, 정작 장치는 선 투성이인데. 게다가 호흡 측정은 몸통을 아예 선으로 옭아 매고는 숨쉴 때마다 선이 늘어나는 것을 활용했다. 필시 학교에서 어떤 프로젝트 숙제가 있었고 이걸 하기 위해 디립다 모든 센서들을 밀어넣은 결과물일 것이다. DIY 단계에서 사용하는 센서들이 실제 수면 분석에 도움이 되는지 불확실하므로, FitBit에서는 어떻게 수면 방식을 분석해주는지 확인해 보았다. 출처 : Fitbit 사이트(h...
딴짓이 그리워지는 시험기간을 맞아 한 달만에 수업을 다시 들으려니 다 까먹었다. week 2의 과제를 남겨두고 그만둔 터라 상황이 심각했다. 결국 복습이 필요하다. 무엇보다도 이 cost function이 중요한 건데, 왜 2로 나눠주는지를 도통 모르겠어서 한참을 헤맸는데, 수학적 의미가 있는 것은 아니었다. Derivative term에서 차수 2가 내려오면 자연스럽게 사라지도록 하는 편의상의 기능을 할 뿐이란다 ㅂㄷㅂㄷ 새로운 세타값들을 찾아나가는 것까지는 기억이 나는데 그 방법이 아리송하다. 알파는 시행이 되는 속도를 말하는 것일테고, 각 점에서 내린 접선의 기울기를 빼주는 듯한데, 왜 그렇지?? 보아하니 예전에도 같은 의문을 가졌던 모양이다. 답은 위의 그래프를 위에서 바라봤을 때 찾을 수 있다. 강의에서도 이렇게 설명해줬다면 더 좋았을 듯 한데, J함수를 각 세타 변수로 편미분 해 주면, X자로 이어진 선의 한 단위의 방향이 등장하게 된다. 그 방향으로 알파만큼 곱해주어 각 세타변수에서 빼주게 된다면 다음 X자가 등장하는 것이다. 그렇게 단계단계 밟아간다면 최저점인 세타1로 도달한다는 것인데, 아직까지도 국소적 최저점인 세타0으로 도달하는 경우와 전역적 최저점 세타1로 도달하는 경우 둘을 구별할 수 있는지에 대한 의문은 남아있다. 과제로 나온 문제도 이런 방법들로 풀 수가 있다. 2번 문제는 Gradient Descent를 MatLab으로 표현하라는 문제인데, 문법만 익힌다면 문제없이 풀 수 있을 듯 하다. 먼저 cost function을 matlab으로 표현을 해야 하는데, 어려운 문법이 사용되는 것은 아니다. X, y, theta가 주어진 상황이므로 이들을 활용하여 차근차근 해결하면 된다. 문제에서 X와 theta 는 다음과 같이 설정되어 있다. X = [ones(m, 1), data(:,1)]; theta = zeros(2, 1); X의 형식을 찾...
댓글
댓글 쓰기