Archive: 2019

머신러닝의 개요

Machine learning Machine Learning으로 할 수 있는 것들 독립변수 반응변수 모형 고객들의 개인 정보 및 금융 관련 정보 대출 연체 여부 대출 연체자 예측 탐지 모델, 대출 연체 관련 주요 feature 추출 게임 유저들의 게임 내 활동 정보 게임 이탈 여부. 어뷰징 여부 이상 탐지 모델(anomaly detectio

data engineering (DB에 table 만들기)

Spotify가 국내에 음원 진출을 확정지었다는 기사를 보면서 다시 한번 이 토이프로젝트에 대해 동기부여가 되었다. Spotify API를 통해 AWS에 만들어 놓은 DB에 입력해 볼 것이다. Spotify API를 이용해서 DB 구축하기 먼저, 혹시라도 필자의 토이 프로젝트의 목표가 무엇인지 모르실 분들을 위해 말하자면, Spotify data를 통

data engineering (AWS로 DB 만들기)

AWS RDB 만들기 Spotify data를 크롤링 하고난 후에 AWS RDB에 저장하기 위해서 먼저 DB를 만들어 줄 것이다.Youtube 초보자를 위한 AWS 시작하기! AWS RDS 생성 개발자나 필자 처럼 데이터를 분석하는 분들을 제외한 분들은 아마 Amazon이라는 단어를 듣게 된다면, 물건을 사고파는 뭐 그런 웹사이트 페이지를 떠올리는 분들이

선형 대수 공부할 때 도움되는 사이트

기초 선형 대수 공부할 때 도움되는 사이트 아래의 설명들은 사이트들에 대한 주관적인 의견이므로, 개인마다 차이가 있을 것이다. 영어가(도) 편하신 분들을 위한 자료 선형대수 cheat sheet 엄청 기본적인 개념들을 모르는 분들께만 추천 Gilbert Strang 교수님 강의 기본적인 개념부터 차근차근 그리고 조금은 직관적으로 선형대수를 공부하고

추천시스템(Recommendation System)

1) 추천 시스템(Recommendation System)이란?위키백과의 정의를 통해 먼저 정리해보자! 정보 필터링 (IF) 기술의 일종 특정 사용자가 관심을 가질만한 정보 (영화, 음악, 책, 뉴스, 이미지, 웹 페이지 등)를 추천하는 것 ㄴ.종류(Different Types of Recommendation Engines) :1) 협업 필터링 기법(C

data engineering (API는 무엇인가?!?)

REST API의 정의와 예제들API(Application Programming Interface) 두 개의 시스템이 서로 상호 작용하기 위한 인터페이스 데이터를 주고 받는 인터페이스 API라고 하면 보통 REST API를 지칭 웹사이트는 HTTP(S)프로토콜을 사용하는 REST API 기반으로 구축 API 접근 권한Authentication V

Basic ConvNN(VGG-16모방한 기본)구현

Basic ConvNN 구현 참고로 저는 mac을 사용하기에 local에서말고 GPU를 사용하게끔 Google Colab을 사용하였다. 제가 구현한 방식은 tensorflow 2.0 version이므로(tf.function을 사용하느라) colab의 tensorflow의 version이 뭔지 먼저 확인했습니다. 1.15 version이어서 2.0으로 설치를

Convolution Neural Network(1)

합성곱 연산과 이미지 필터 아날로그 신호처리는 선형이고 시불변인 시스템에 의존해서 개발이 되게 되는데, Noise가 있는 입력이 들어왔을 때 넣어주면 Noise가 제거된 출력이 나오는 이런 시스템을 모두 LTI system이라고 부른다. 디지털 신호가 아닌 아날로그 신호로부터 LTI system이 정의되어있다. 선형이라는 것은 대부분 알고 있듯이 선형대수

data engineering basic(SQL Basic)

SQL(Structured Query Language)DB (Database) 데이터를 통합하여 관리하는 데이터의 집합 DBMS (Database Management system) DB를 관리하는 미들웨어 시스템을 의미 Database 분류 RDBMS(Relational Database Management System) NoSQL - 데이터

data engineering basic(Unix환경 및 커맨드)

Pipes and Filterscat : 해당 파일 전체를 printhead : 해당 파일 앞의 10줄 정도를 printtail : 해당 파일 뒤의 20줄 정도를 print command > file : 기존의 파일 내용은 지우고 현재 command한 결과 파일에 저장command >> file : 기존의 파일에 덮붙여서 결과를 저장(pyt

심층 신경망의 구조

심층 신경망의 구조 은닉 계층 추가 = 특징의 비선형 변환 추가!!선형 변환의 이해 선형대수의 선형 변환을 함수의 개념에서 보았을때, 입력 차원(n)이 출력 차원(m)보다 크다면 Onto(전사함수: 모든 공역이 치역이 되있는 상태)가 될 수 있지만, 그 반대인 경우는 적은 차원을 갖는 입력벡터의 차원으로 일부분의 출력 벡터의 차원을 커버하는 것이

쉽게 배우는 경사하강 학습법

쉽게 배우는 경사하강 학습법 어떤 손실 함수를 사용하느냐에 따라서 학습이 어떻게 이루어질 것인지, 그리고 학습을 할 때 정답의 형태를 결정하기 때문에 손실 함수는 중요하다! Traning Data를 Model에 입력해 우리가 학습시키고자 하는 Trainable Parameters를 얻게 되는데 Trainable Parameters들을 inpu

가장 단순한 신경망을 통한 작동원리

Node가 단일 뉴런 연산을 의미한다고 했는데 여기서의 단일 뉴런 연산이란 input에 가중치를 곱하고 합계를 낸 후에 activation function까지 통과시키는 과정을 의미한다. 위의 식에서 편향을 잊어버리지 말자!! 예를들면, 편향이 없다면 원점을 지나는 선만 표현할 수 있지만 편향을 통해 원점을 지나지 않는 선들도 표현

딥러닝이 무엇인가?

딥러닝의 이해 기계학습의 경우에는 위의 고양이와 개를 구분하기 위해서 이진 분류기를 구현할 것인데, 이런 이진 분류기를 구현하기 위해서는 Feature Extractor가 필요하다. 여기서 말하는 Feature Extractor 란 구분에 용이한 특징을 추출하여 feature vector를 만드는 데 사용하는 것이다. 이렇게 잘 추출한 특징 벡터를

data engineering basic

데이터 분석가와 엔지니어링 차이점 데이터 분석가는 갖춰진 데이터 시스템과 데이터를 통해서 다양한 분석을 하는 업무이며, 엔지니어링은 그와 다르게 비즈니스에 맞는 데이터를 추출하고 그에 따라 분석하는 환경을 만들어 나가는 업무라고 생각할 수 있을 것이다. 특히, 데이터 전처리나 추출, 정제를 담당하는 업무이다. 데이터 엔지니어링이 중요한 이유 비즈니스 모델

Requests 모듈 사용하기(HTTP 통신)

Requests 모듈 http request/response를 위한 모듈 HTTP method를 메소드 명으로 사용하여 request 요청 예)GET, POST 가장 우리가 흔하게 크롤링을 하는데 사용하는 방식이며, API만 알고 있다면 쉽게 사용할 수 있다!

웹 기본 지식 이해하기 01(chrome을 이용하여 웹페이지 분석하기)

HTTP HyperText Transfer Protocol: HTML(HyperText Markup language) 문서 등의 리소스를 전송하는 프로토콜(규약) 클라이언트에서 서버로 HTTP 요청을 하는데 이 요청 방식으로는 Get, Post, Put, delete, Option등이 있는데 이 중 크롤링에서 가장 많이 쓰이는 두가지(Get, Post)

colab & Kaggle 연동 및 기초 사용법

Kaggle Korea에서 진행중인 대회에서 Kaggle Kernel을 사용하다 보니 커널이 자꾸 죽는 이유는 도대체 무엇인지… competition에 늦게 참여한 관계로 더 시간이 촉박하기만 한데…. 그래서 google colab으로 바꾸려고 생각하였다. 캐글은 예측모델 및 분석 대회를 하는 플랫폼이다. 개인 및 단체에서 해결하고 싶은 과제와 데이터를 등

[수리통계학] 나혼자 정리하는 통계생의 수리통계학 00

먼저, 이 글은 data science라는 분야를 공부하며 원래 통계학을 전공했던 나였지만 학부과정에서 배웠던 그리고 부끄럽지만 석사 때 배웠다고 기억하고 있는 조각들을 모아 수리통계학을 간단히 정리하기 위해 쓰는 글이다. 확률과 확률분포여러 가지 조사 연구들은 동일한 조건에서의 반복 실험이 대체적으로 표준이 된다는 것이 특징이다. 예를 들어, 의학 연구에

[CS231n]Lecture09-CNN_Architectures

LeNet 산업에 아주 성공적으로 적용된 최초의 ConvNet이다. 이미지를 입력으로 받아 Stride = 1인 5x5필터를 거치고 몇 개의 Conv Layer와 Pooling Layer를 거친다. 그리고 마지막 출력 노드 전에 Fully Connected Layer가 붙는다. 엄청 간단한 모델이지만 숫자 인식에서 엄청난 성공을 거두었다. Al

내가 정리하는 C/C++ 00

개발환경 구축하기C와 C++1) C++는 기본적으로 C의 기능을 확장한 형태의 프로그래밍 언어이다.2) 따라서 C 언어의 기능을 포함하고 있다는 점에서 C++프로젝트로 .C 확장자를 갖는 파일을 생성하여 코딩해도 정상적으로 동작한다. 개발환경 구축하기 나는 개인적으로 IDE(Integrated Development Environment) 중에서 Atom을

[CS231n]Lecture08-Deep learning Software

GPU Graphics card 또는 Graphics Processing Unit이라고 하는데 결국엔 우리가 아는 사실 처럼 computer graphics를 랜더링하기 위해 더 와닿게 말하자면 게임을 더 최적의 환경에서 하기 위해 만들어 졌다고 할 수 있다. # Cores Clock speed Memory Price CPU 4 4.4 G

[CS231n]Lecture07-Training Neural Networks2

지난 6강에서는 activation function을 중점적으로 다루어 보았는데, 10년전 까지만 해도 sigmoid가 아주 유명했다. 허나, Vanishing gradient가 생기는 문제로 인해 최근에는 Sigmoid와 tanh 보다는 ReLU를 쓴다라고 했다. 대부분의 경우 normalize나 zero-centered로 데이터를 처리해 주지 않으면,

[CS231n]Lecture06-Training Neural Networks

Optimization을 통해서 네트워크의 파라미터를 학습시킬 수 있다. Loss가 줄어드는 방향으로 이동하는데 이것은 gradient의 반대 방향으로 이동하는 것과 같다. Mini-batch SGD 알고리즘으로 가중치들(네트워크의 파라미터)을 업데이트하는 과정은 다음과 같다. Mini-batch SGD로 가중치 업데이트 과정Loop: 데이터의 bat

[CS231n]Lecture05-Convolution Neural Network

CNN의 역사는 생략하겠다. CNN의 기본적인 구조기존의 Fully connected Layer와 CNN의 주된 차이점은 기존의 이미지 구조를 보존시킨다는 점이다. 그리고 필터가 가중치 역할을 하는 것이라고 생각하면 될 것이다. 간단히 표현하자면, 필터를 통해 이미지를 슬라이딩하면서 공간적으로 내적을 수행하는 방식이 CNN 구조이다. 더 자세히 말하자면,

[CS231n]Lecture02-Image classification pipeline

기본적으로 Computer vision에서 가장 핵심이 될 수 있는 작업은 Image Classification이라고 할 수 있을 것이다. Image classification이 가능하면 detection, segmentation, captioning 작업들이 수월하게 작업이 가능해진다. 이미지는 기본적으로 3차원의 배열 형태로 [0, 255] 사이의 수로

growth_hacking_01

결국 문제는 Distribution 모바일 앱 시장을 생각해 보면 알수 있듯이 초창기에는 신기해서 앱을 다운로드하던 시정이 있었지만, 현재는 앱을 다운로드하지 않는 트렌드를 알 수 있다. 클라우드 서비스의 성장과 SaaS의 성장으로 인래 많은 스타트업이 생겼지만, 그 중 대부분이 실패를 한다. 그 이유는 유통때문이다. 즉, 빈약한 유통채널을 가지고 있기 때

growth_hacking_00

Growth hacking outlineStart up? 에어비앤비, 우버, 비바리퍼블리카(토스), 우아한형제들(배달의 민족), VCNC의 타다 등의 회사 확장가능하고 반복가능한 사업모델을 탐색하기 위해 고안되어진 임시조직 아직 잘 작동하는 사업 모델을 찾아내지 못한 기업을 의미하며, 사업 모델이 잘 작동한다면 Established company라고 부를

프로그래머를 위한 베이지안 with 파이썬(1)

베이지안 심리 상태 베이지안 추론은 불확실성을 유지한다는 점에서 기존의 전통적인 통계적 추론과 다르다. 위의 말을 읽었을때 개인적으로 통게학을 전공한 나로써는 이해가 잘 가지 않았다. 왜냐하면 통계라는 학문 자체가 불확실성을 기반으로 하는 것이 아닌가라는 의문이 들었기 때문이다. random한 것에서 확률적으로 높은 것을 찾아내는 것인데 말이다. 우선 확