공부/AIFFEL 95

FUNDAMENTAL 16. 컴퓨터 파워 UP

인사이트마이닝1. 멀티태스킹 (1) 멀티태스킹이란? - 동시성, 병렬성 1) 동시성 : 여러 가지 일을 빠르게 번갈아 가며 수행해 동시에 수행하는 것처럼 일하는 것을 말한다. 1명의 직원이 2가지 일을 하는 것. 2) 병렬성 : 업무를 분담해서 하는 것. 2명의 직원이 2가지 일을 하는 것. - 동기 vs 비동기 : 동시성에서 주로 다루게 될 개념이다. 1) 바운드 : 어떤 일을 바로 하지 못하고 대기해야 하는 일을 "바운드(bound)되었다"라고 표현한다. 2) 동기(synchronized) : 어떤 일이 순차적으로 실행됨. 요청과 요청에 대한 응답이 동시에 실행됨 (따라서 요청에 지연이 발생하더라도 계속 대기한다.) 3) 비동기(asynchronous) : 어떤 일이 비순차적으로 실행됨. 요청과 요청..

공부/AIFFEL 2021.02.03

Exploration 8 : 아이유팬이 좋아할 만한 다른 아티스트 찾기

1. 추천시스템이란게 먼가요? - 협업 필터링(Collaborative Filtering)방식 : 다수의 사용자가 아이템을 구매한 이력 정보만으로 사용자간 유사성 및 아이템 간 유사성을 파악한다. - 콘텐츠 기반 필터링(Contents-based Filtering)방식 : 아이템의 고유의 정보를 바탕으로 아이템 간 유사성을 파악한다. - 즉, 협업 필터링은 아이템과 사용자 간의 행동 또는 관계에만 주목하고, 콘텐츠 기반 필터링은 아이템 자체의 속성에 주목한다. - 협업 필터링의 단점 1) 시스템이 충분한 정보를 모으지 못한 사용자나 아이템에 대한 추론을 할 수 없는 상태인 콜드 스타트(Cold Start)상황을 겪는다. 2) 계산량이 너무 많아 추천의 효율이 떨어지는 상황이 발생한다. 3) 롱테일의 꼬리..

공부/AIFFEL 2021.02.03

풀잎스쿨 - DeepML(CS231N) Lec. 06

오늘은 6강을 거의 봤다. 시간이 부족하여 전부 보지는 못했다. 1.활성화 함수(Activation Function)의 종류를 보았다. - Sigmoid : 이진 분류에 쓰인다. 0 ~ 1의 값이 나온다. vanishing gradient가 생길 수 있다. zero-centered 하지 못하다. exp함수를 이용하므로 계산이 복잡해진다. - tanh(x) : sigmoid의 단점을 일부 보완한다. zero-centered 하다. 그렇지만 vanishing gradient가 생길 수 있다. - ReLU : max(0, x), vanishing gradient문제를 해결했다. 효율적으로 계산한다. 훨씬 빠르게 수렴한다. 생물학적으로 더 뉴런처럼 행동한다. 그러나 zero-centered하지 못하다. 죽는다 ..

공부/AIFFEL 2021.02.01

FUNDAMENTAL 15. 선형 회귀와 로지스틱 회귀

1. 회귀(Regression)에 대하여 - 회귀분석(Regression Analysis)이란 통계학에서 전통적으로 많이 사용되던 분석 방법으로, 관찰된 여러 데이터를 기반으로 각 연속형 변수간의 관계를 모델링하고 이에 대한 적합도를 축정하는 분석 방법이다. - 독립변수(independent variable) 또는 설명변수(explanatory variable)과 종속변수(dependent variable) 또는 반응변수(response variable)이 있다. - 두 변수 사이의 관계를 직선 형태로 가정하고 분석하는 것을 선형 회귀분석(Linear Regression)이라 한다. - 선형 회귀분석의 표준 가정이란 회귀분석 대상 변수들이 가져야 할 4가지 조건(선형성, 독립성, 등분산성, 정규성)을 말..

공부/AIFFEL 2021.02.01

FUNDAMENTAL 14. 다양한 데이터 전처리 기법

1. 결측치 - 결측치를 처리하는 방법은 크게 두 가지가 있다. 1) 결측치가 있는 데이터를 제거한다. 2) 결측치를 어떤 값으로 대체한다. : 대체하는 방법은 다양하니 데이터마다 특성을 반영하여 해결한다. - 결측치 여부를 살펴보기 : 전체 데이터 건수(len(data))- 컬럼별 값이 있는 데이터 수(data.count()) - 만약 결측치가 있어서 해당 컬럼을 제거한다면 data.drop("colname", axis = 1)을 사용한다. - data.isnull() : 데이터마다 결측치 여부를 bool형식으로 반환한다. - data.any(axis = 1) : 행마다 하나라도 True가 있으면 True, 그렇지 않으면 False를 반환한다. - 위 두가지 메서드를 조합하여 결측치가 하나라도 있는 행..

공부/AIFFEL 2021.01.29

Exploration 7 : 나랑 닮은 연예인은 누구?

1. 임베딩은 무엇일까 - 고차원 정보를 저차원으로 변환하면서 필요한 정보를 보존하는 것 - 임베딩 기법을 활용하여 표현할 수 있는 데이터 유형 1) 텍스트(단어, 문장, 전체 문서), 이미지, 오디오 등과 같은 구조화되지 않은 데이터 2) 사용자가 시청한 영화 목록 및 사용자 ID와 같이 상호 작용 컨텍스트만 있고 입력 특성이 없는 항목 3) 그래프 및 네트워크와 같은 복잡한 구조 데이터. ex) 소셜 네트워크 및 생화학 화합물 4) 텍스트 설명을 사용한 이미지 검색 및 이미지 캡션 작성과 같은 다중 모달 변환 5) 위치 및 점유와 같은 희소 특성 (이를 밀집 특성으로 변환) 6) 인구통계, 사회, 금융, 행동 속성이 300개 이상 포함된 고객 레코드와 같은 고차원 항목(이러한 항목을 보다 간결한 표현..

공부/AIFFEL 2021.01.28

풀잎스쿨 - 코딩마스터(Coding Master) 3장. 검색 알고리즘

오늘은 책을 보고 검색 알고리즘을 배우고, 프로그래머스를 통해 2가지 문제를 풀었다. 검색 알고리즘에는 다양한 방법이 있지만 3가지에 대해서 알아보았다. 1. 선형 검색 : 가장 기본적인 알고리즘으로 직선 모양으로 늘어선 배열에서 검색할 때 맨 앞부터 스캔하여 순서대로 검색하는 알고리즘이다. 보초법을 쓰면 더욱 빠르게 검색할 수 있게 된다. 2. 이진 검색 : 배열의 데이터가 정렬되어 있어야 한다는 조건이 있다. 선형 검색보다 빠르게 검색 할 수 있다. 3. 해시법 : 데이터 검색, 추가, 삭제도 효율적으로 수행할 수 있는 방법이다. 해시충돌이 발생하는 경우 체인법과 오픈 주소법으로 대처할 수 있다. 오늘 푼 문제는 1. 정부 배열 numbers가 주어진다. numbers에서 서로 다른 인덱스에 있는 두..

공부/AIFFEL 2021.01.27

FUNDAMENTAL 13. 파이썬 잘 하는 척 해보자

1. 파이썬 어디까지 써 봤니? - 퍼포먼스(성능)란 어떤 언어든 코드를 짜서 실행을 시켰을 때 얼마나 빨리 처리가 되는가를 말함. - 생산성이란 똑같은 기능을 하는 프로그램을 얼마나 빨리 작성할 수 있는가를 말함 - 퍼포먼스 vs 생산성 : 퍼포먼스와 생산성 간의 trade-off가 상당하다. - 목적과 상황에 맞게 퍼포먼스와 생산성의 중요도를 판단하여 언어를 선택하고 사용하면 된다. - 파이썬의 성능 : 높은 생산성, 코드의 간결함, 빠른 개발 속도, 스크립트 언어 2. 파이썬을 더 잘 사용해보자 (1) for문 잘 사용하기 - enumerate : 리스트, 문자열, 튜플 등이 있는 경우 순서와 리스트의 값을 함께 반환해주는 기능을 한다. - 이중 for문 : for안의 for를 쓰는 것을 말함. 삼..

공부/AIFFEL 2021.01.27

Exploration 6 : 작사가 인공지능 만들기

1. 시퀀스? 스퀀스! - Sequence : 나열된 데이터, 각 요소들이 동일한 속성을 띌 필요는 없다. 어떤 기준에 따라 정렬되어 있지 않아도 된다. 2. I 다음 am을 쓰면 반 이상은 맞더라 - 인공지능이 글을 이해하는 방식은 수많은 글을 읽게 하는 것이다. 즉, 많은 데이터가 곧 좋은 결과를 만들어 낸다. - 이 방식을 가장 잘 처리하는 인공지능 중 하나로 순환신경망(RNN)이 있다. - 순환신경망 : 데이터를 입력 받은 신경망이 결과값을 다시 입력으로 사용하는 것. 3. 실습 (1) 데이터 다듬기 - 데이터에 필요없는 게 있는지? : 불필요한 특수기호, 공백 등을 가공하기 - 토큰화(Tokenize) - 소스 문장과 타켓 문장으로 분류하기 - 벡터화를 하여 텐서만들기 4. 실습 (2) 인공지능..

공부/AIFFEL 2021.01.26

풀잎스쿨 - DeepML(CS231N) Lec. 05

오늘은 5강을 처음부터 끝까지 봤다. 수업방법은 4강과 동일하게 했다. 1. CNN의 원리를 간략히 봤다. 2. CNN이 오늘날 어떤 분야에 활용되고 있는지 보았다. 3. input layer와 filter가 만나서 activation map이 되는 과정을 봤다. filter마다 뽑아내는 특징이 다르므로 보통 filter는 여러개를 사용한다. 4. CNN의 구조를 봤다. (CRCRP FC) 5. filter의 작동 방법을 보면서 filter를 거친 후의 output크기를 구하는 일반화 수식을 봤다. 6. stride, padding 개념을 배웠다. 7. padding을 구하는 수식과 parameter를 구하는 수식을 배웠다. 8. 흔히 쓰이는 filter 갯수와 크기, stride, padding 크기를..

공부/AIFFEL 2021.01.25