목록전체 글 (222)
꺼내먹는지식 준

Sigmoid 미분을 직관적으로 이해해야 graident vanishing 과 같은 개념도 한층 깊게 이해될 것이라 판단된다. 이에 따라 sigmoid 미분을 간단하게 확인 해본다. ※들어가기 전 혹시 자연상수 e에 대한 개념이 햇갈리시는 분들은 한번 보고 옵시다. https://sseong40.tistory.com/2 [고등수학]자연 상수 e에 대하여 알아보자! 자연 상수 e, 고등 미적분 파트에서 접하게 되는 중요한 수학적인 상수! 지수 함수 혹은 로그 함수의 미적분 과정에서 대표적으로 자주 거론되는, 여러모로 핵심적인 부분을 맡 sseong40.tistory.com 즉, 자연상수 e 는 다음과 같이 표기할 수 있다. $e = \lim_\limits{n \to +\infty} (..

해당 글은 https://kim6394.tistory.com/246 여기 글을 나중에 빠르게 복기하려고 정리한게 다라서, 해당 블로그에 가서 글을 읽으시기를 추천 stack, queue 는 어려울게 없지만 집합 구현에서 비트마스크를 쓰라는 것을 보고 조금 헤맸다. 매번 모르는 개념을 안다고 착각하고, bit mask를 이진법과 동일하게 처리하려 했다. bit mask의 아주 쉬운 개념 설명은 아래의 예시를 보자. [1,2,3,4,5] -> 11111 [2,3,4,5] -> 11110 [3,4,5] -> 11100 [4,5] -> 11000 [5] -> 10000 즉, i번째 요소가 있으면 1 없으면 0 으로 표현한다. 단, 집합(set)에서만 가능하다! 동일한 원소를 허용하지 않기 때문에 이런 자료구조가..

사전 product Serving에서 확인했던 Voila의 장점은 노트북에서 프로토 타입을 쉽게 만들 수 있다는 것이다. 그러나 레이아웃을 잡기 어려워서 웹 개발을 해야 할 수도 있다. 그러나 현재 이 글의 대상자들은 데이터 분석가 혹은 사이언티스트 인데, 이들이 밑단부터 웹 개발을 할 필요는 없다. 즉 이로 인해 자바 스크립트, React, Vue 등을 사용해야 하는데, 이는 시간대비 효율적이지 않다. 처음부터 HTML/ 자바스크립트 + Flask/Fast API가 아닌, 기존 코드를 조금만 수정해서 웹 서비스를 만드는 것이 목표 데이터 분석가 혹은 사이언티스트가 웹 서비스를 작업하는 Flow를 살펴보자. 시나리오 1 시나리오 2 시나리오 1 의 경우 익숙해지는데 시간이 오래 걸린다. 시나리오 2의 경..

Notebook 베이스 프로토타입 Jupyter Notebook에서 함수를 작성한 후, 예측 함수 실행해보며 성능 확인 혼자 확인 할 때는 위와 같이 진행해도 괜찮으나, 동료들과 함께 보면서 이야기 할 때는? "Module Not Found Error..." 라이브러리의 의존성으로 테스트를 위해 추가 환경 설정이 필요하다. (requirements.txt를 명시할 수도 있지만.. ) $\rightarrow$ 개발을 잘 아는 분들에게는 가상환경 세팅 요청할 수 있지만.. 모르는 분들은? nbconvert를 사용해 HTML으로 추출할 수도 있음 인터렉티브하게 조작하기 어려우며, 이미지 용량 따라 느려질 수도 있음 이에 따라 모델 개발 후, 사람 들과 테스트할 수 있는 프로토타입을 먼저 만들어보자. 모델이 어..

용어정리 Serving 서비스화 production 환경에 모델을 사용할 수 있도록 베포 머신러닝 모델을 개발, 현실 세계에서 사용할 수 있도록 하는 행위 (웹, 앱) Inference 모델에 데이터가 제공되어 예측하는 경우, 사용하는 관점 Serving - Inference 가 혼재되어 사용하는 경우도 존재 (ex. Batch Serving/ Batch Inference) Online Serving 웹 서버 요청 받으면 요청 내용을 보내준다는 개념은 어렵지 않으나, HTML 문서나 오브젝트를 전달해준다는 뜻이 좀 모호하다. 아래의 예시들을 보자. 변경도 가능 , 대기 취소 (변경 응답, 취소 응답 ) 정리하자면 client 의 다양한 요청을 웹 서버가 잘 처리해서 응답으로 제공하는 것이 바로 onlin..

MLOps 개론 모델 개발 과정은 다음의 순서를 따른다. 1) 해당 과정은 자신의 컴퓨터, 서버 인스턴스에서 주로 실행 2) 고정된 데이터를 사용해 학습 3) 학습된 모델을 앱, 웹 서비스에서 사용할 수 있도록 만드는 과정 필수 3) 번 과정을 Real World, Production 환경에 모델을 배포한다 표현 모델이 배포된 후, Deploy 과정이 생성된다. 이 경우 발생 문제 1) 모델의 결과값이 이상한 경우가 존재 원인 파악, input 데이터가 예측 못한 형태인 경우, Research 와는 다르게 outlier 처리 불가능 2) 모델의 성능이 계속 변경 정형 데이터에서는 정확히 알 수 있으나, 비정형 데이터(이미지)는 알기 어려울 수 있다. 예측 값과 실제 레이블을 알아야 한다. 3) 새로운 모..
https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 조이스틱 문제 설명 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으..

해당 글은 본 블로그의 github 글을 따라 읽어온 사람들만 이해할 수 있다. Head, Master, Checkout, Reset, Ammend 에 대한 빠른 이해를 위해 글을 선택한 사람들은 다른 블로그의 글을 참고하는 것을 추천 본 글을 이해하고, 다음글에서는 최종장인 Rebase 에 대해 이해한다. Recall 다음의 3가지 기능을 한번 복기하고 시작하자. Master : 마스터는 브랜치의 마지막 작업 버전을 가리킨다. Head : 해드는 현재 working directory를 가리킨다. Head랑 Master는 어떻게 다른가? 마지막 작업 버전과 현재 working directory 가 다를 수가 있나? 우선적으로 Master 는 사실 그냥 branch 중 하나일 뿐이다. repository를..

짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다. 입출력 예 ..

https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1..