분류 전체보기
-
C++의 변수 할당 과정 C++에서 int 형 변수를 선언한 후 값을 저장하고, 이를 다른 변수에 저장하는 과정은 다음과 같다. int a = 1; int b = a; 4 Byte(int) 만큼의 메모리를 할당한 후 a 라고 이름 붙인다. a에 5를 저장한다. 다시 4 Byte 만큼의 메모리를 할당한 후 b 라고 이름 붙인다. a 에 저장된 5를 b 에 저장한다. 저장된 변수의 메모리를 확인하면 다음과 같다. int a = 1; int b = a; cout
[파이썬] 변수(Python vs C++)C++의 변수 할당 과정 C++에서 int 형 변수를 선언한 후 값을 저장하고, 이를 다른 변수에 저장하는 과정은 다음과 같다. int a = 1; int b = a; 4 Byte(int) 만큼의 메모리를 할당한 후 a 라고 이름 붙인다. a에 5를 저장한다. 다시 4 Byte 만큼의 메모리를 할당한 후 b 라고 이름 붙인다. a 에 저장된 5를 b 에 저장한다. 저장된 변수의 메모리를 확인하면 다음과 같다. int a = 1; int b = a; cout
2022.02.08 -
파이썬을 파이썬답게 본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코 school.programmers.co.kr 위 강의를 참고해 공부한 내용을 정리했습니다. int 다루기 몫과 나머지 구하기 divmod와 unpacking을 이용해서 쉽게 표현 가능 a = 7 b = 5 print(a//b, a%b) ↓ a = 7 b = 5 print(*divmod(a, b)) 진법 변환 int(x, base)으로 10진수 ↔ N 진수를 쉽게 변환 가능 num = '3212' base = 5 answer = 0 for idx, number in enumerat..
파이썬을 파이썬답게 : 내장 함수를 활용한 Pythonic 코드 작성법파이썬을 파이썬답게 본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코 school.programmers.co.kr 위 강의를 참고해 공부한 내용을 정리했습니다. int 다루기 몫과 나머지 구하기 divmod와 unpacking을 이용해서 쉽게 표현 가능 a = 7 b = 5 print(a//b, a%b) ↓ a = 7 b = 5 print(*divmod(a, b)) 진법 변환 int(x, base)으로 10진수 ↔ N 진수를 쉽게 변환 가능 num = '3212' base = 5 answer = 0 for idx, number in enumerat..
2022.02.08 -
Intro 인공지능이 주어진 문제를 해결하기 위해서는 Feature(특성)을 적절하게 숫자로 변환해주어야 합니다. 특성을 성공적으로 숫자로 변환하는데 성공했다고 가정한다면, 특성은 벡터의 형태로 표현할 수 있습니다. 서로 다른 두 특성 벡터 사이의 관계를 분석하기 위해선 여러 기준이 있습니다. 이번 포스팅에선 그 중에서 많이 활용되는 Cosine 유사도와 Euclidean 거리에 대해서 알아보겠습니다. Cosine 유사도 코사인 유사도는 두 벡터의 내적을 벡터의 크기로 정규화하여 구하기 때문에, 두 벡터 사이 각도에 초점이 맞춰져있습니다. 따라서 각 Feature의 값 편차가 클 경우 효과적으로 사용할 수 있는 지표입니다. Euclidean(유클리드) 거리 유클리드 거리는 두 벡터 사이 차 성분을 제곱한..
Cosine Similarity(코사인 유사도)와 Euclidean Distance(유클리드 거리) 알아보기Intro 인공지능이 주어진 문제를 해결하기 위해서는 Feature(특성)을 적절하게 숫자로 변환해주어야 합니다. 특성을 성공적으로 숫자로 변환하는데 성공했다고 가정한다면, 특성은 벡터의 형태로 표현할 수 있습니다. 서로 다른 두 특성 벡터 사이의 관계를 분석하기 위해선 여러 기준이 있습니다. 이번 포스팅에선 그 중에서 많이 활용되는 Cosine 유사도와 Euclidean 거리에 대해서 알아보겠습니다. Cosine 유사도 코사인 유사도는 두 벡터의 내적을 벡터의 크기로 정규화하여 구하기 때문에, 두 벡터 사이 각도에 초점이 맞춰져있습니다. 따라서 각 Feature의 값 편차가 클 경우 효과적으로 사용할 수 있는 지표입니다. Euclidean(유클리드) 거리 유클리드 거리는 두 벡터 사이 차 성분을 제곱한..
2022.01.31 -
Intro 여러 분류 모델 중 해결해야 하는 문제의 특성, 데이터 등 다양한 사항을 고려해 몇 개의 모델을 추리는데 성공했다고 가정해봅시다. 이때 가장 성능이 좋은 모델을 선택하기 위해선 얼마나 정확하게 주어진 문제를 해결할 수 있는 지를 수치화하여 비교하는 것이 중요합니다. 모델 평가를 위해 정확성을 수치화하여 나타낸 것을 평가 지표라고 하며, 적절한 평가 지표를 설정하는 것은 매우 중요한 작업입니다. 이번 포스팅에선 기본적인 평가 지표인 Accuracy, Precision, Recall에 대해서 다뤄보겠습니다. Confusion Matrix(혼동 행렬) 분류를 성공적으로 했는지를 확인하기 위해서는 혼동 행렬을 살펴볼 필요가 있습니다. 혼동 행렬이라는 이름처럼 처음에 접했을 때는 매우 헷갈립니다. TP..
Classification Metrics(분류 모델 평가 지표) 알아보기 : Accuracy, Precision, Recall, F1 ScoreIntro 여러 분류 모델 중 해결해야 하는 문제의 특성, 데이터 등 다양한 사항을 고려해 몇 개의 모델을 추리는데 성공했다고 가정해봅시다. 이때 가장 성능이 좋은 모델을 선택하기 위해선 얼마나 정확하게 주어진 문제를 해결할 수 있는 지를 수치화하여 비교하는 것이 중요합니다. 모델 평가를 위해 정확성을 수치화하여 나타낸 것을 평가 지표라고 하며, 적절한 평가 지표를 설정하는 것은 매우 중요한 작업입니다. 이번 포스팅에선 기본적인 평가 지표인 Accuracy, Precision, Recall에 대해서 다뤄보겠습니다. Confusion Matrix(혼동 행렬) 분류를 성공적으로 했는지를 확인하기 위해서는 혼동 행렬을 살펴볼 필요가 있습니다. 혼동 행렬이라는 이름처럼 처음에 접했을 때는 매우 헷갈립니다. TP..
2022.01.24 -
Intro 인간이 일상에서 사용하는 언어(자연어)를 컴퓨터에게 이해시키기 위해서 자연어에 담긴 추상적 뜻을 의미있는 숫자들로 바꾸어야 합니다. 자연어를 의미있는 숫자로 바꾸는 작업을 Word Representation(단어 표현)이라고 합니다. 이번 포스팅에선 자연어를 더 잘 표현할 수 있도록 제안된 다양한 방법에 대해서 다뤄보겠습니다. Word Representation? 단어 표현은 크게 Local, Continuous 표현으로 구분됩니다. Local 표현의 경우 해당 단어 자체만을 참고하기 때문에 뉘앙스(nuance)을 담지 못하지만 Continuous 표현의 경우 단어 주위를 참고하기 때문에 뉘앙스를 담을 수 있다는 장점이 있습니다. BOW와 Word2Vec이 각각 유명한 Local, Contin..
Word Representation이란? - BoW에서 Word2vec까지Intro 인간이 일상에서 사용하는 언어(자연어)를 컴퓨터에게 이해시키기 위해서 자연어에 담긴 추상적 뜻을 의미있는 숫자들로 바꾸어야 합니다. 자연어를 의미있는 숫자로 바꾸는 작업을 Word Representation(단어 표현)이라고 합니다. 이번 포스팅에선 자연어를 더 잘 표현할 수 있도록 제안된 다양한 방법에 대해서 다뤄보겠습니다. Word Representation? 단어 표현은 크게 Local, Continuous 표현으로 구분됩니다. Local 표현의 경우 해당 단어 자체만을 참고하기 때문에 뉘앙스(nuance)을 담지 못하지만 Continuous 표현의 경우 단어 주위를 참고하기 때문에 뉘앙스를 담을 수 있다는 장점이 있습니다. BOW와 Word2Vec이 각각 유명한 Local, Contin..
2022.01.17