본문 바로가기

분류 전체보기184

[스낵수학] 숫자 0의 개념과 0으로 나눌 수 없는 이유 숫자 0은 매우 중요한 개념이다. 정수와 유리수를 이해할 때도 매우 중요하고, 참조 -> cleancode-ws.tistory.com/118 [스낵수학] 정수, 유리수 정수와 유리수가 왜 필요할까? 자연수만으로는 여러 경제활동이나 자연 현상 등을 표현하기 어려웠다. 그래서 생긴 것이 바로 정수, 그리고 유리수이다. 아래 그림에서 과일의 수를 어떻게 표현 cleancode-ws.tistory.com '아무 것도 없다' 의 개념으로서도 매우 중요한 수이다. 그렇다면, 왜 0으로 수를 나눌 수 없을까? 먼저 생각해야 할 것은 어떤 숫자를 나눈다는 것에 대한 개념이다. 1. 특정 숫자를 어떤 숫자로 나누는 것은, 예를 들면, 13을 3으로 나눈다면, 3의 배수를 이용하여 3,6,9,12, ...에서 13과 가장.. 2021. 4. 10.
[스낵수학] 정수, 유리수, 숫자 0 개념 정수와 유리수가 왜 필요할까? 자연수만으로는 여러 경제활동이나 자연 현상 등을 표현하기 어려웠다. 그래서 생긴 것이 바로 정수, 그리고 유리수이다. 아래 그림에서 과일의 수를 어떻게 표현할 수 있을까?? 자연수만 사용한다면, 2개? 3개?로 표현을 해 보겠지만, 속살이 보이는 과일 반쪽을 아예 없는 것으로 보기도, 온전한 하나로 보기도 어렵다. 반을 표현을 하기 위해 하나의 과일을 두 쪽으로 나눈다. 1/2라는 분수의 개념이 필요하게 된다. 정수(Integer)란? 0 그리고 자연수에 음의 부호를 붙인 -1, -2, -3, ...을 음의 정수가 있다. 특별히 자연수는 +1, +2, ..로 표현할 수 있고 자연수에 +(양의 부호)를 쓴 수로 양의 정수라고 하여 음의 정수와 같은 기준으로도 표현을 한다. 그.. 2021. 4. 9.
[스낵수학] 양의 부호와 음의 부호, 양수와 음수 개념 양수와 음수는 왜 필요할까? 수학자 크로네커는 '신은 자연수를 만들었고 나머지 수는 모두 사람이 만들었다' 라고 했다. 우리는 생활 속에서 특정 자원들의 수가 늘었다가 줄어드는 것을 볼 수 있다. 이것을 숫자와 부호로 표현하기 위해 늘어남을 표현하기 위해 + 양의 부호를, 줄어듬을 표현하기 위해 - 음의 부호를 만들었다. 그리고 자연수에서 +와 -을 하다보니 새로운 수가 생기기 시작했다. 그것은 바로 없음의 상태! 즉, '0'의 개념이 생긴 것이다. 그리고 심지어 -1, -2도 생기게 된 것이다. 양의 부호와 음의 부호 이해하기 서로 반대의 성질을 양의 부호와 음의 부호로 표현한다. 서로 반대의 성질이라는 것을 2차원 이상에서 표현하게 된다면, 반대되는 방향성을 갖는다는 것이다. . 덧셈과 뺄셈은 양의 .. 2021. 4. 9.
[스낵수학] 공배수, 최소공배수 개념 공배수는 왜 배울까? 두 자연수를 비교할 때 공약수와 마찬가지로 두 수를 비교하여 연산할 때 많이 쓰는 것이 바로 공배수다. 예를 들면, 6번 간격의 버스와 10분 간격의 버스가 있다. 이 때, 처음으로 두 버스가 만나는 시각을 구하는 것이 있다. 공배수(Common Multiple)란? [참조] 배수는 어떤 자연수에 1,2,3, ...의 자연수를 곱해서 얻어진 수이다. 두 개 이상의 자연수가 공통인 배수 예를 들면, 2와 3의 배수를 구한다면, 2의 배수는 2*1 = 2 / 2*2 = 4 /2*3 = 6 2*4 = 8 / 2*5= 10 / 2*6 = 12 ... 3의 배수는 3*1 = 3 / 3*2 = 6 / 3*3 = 9 3*4 = 12 / 3*5 = 15 / 3*6 = 18 ... 이 따, 공통되는.. 2021. 4. 8.
[스낵수학] 공약수, 최대공약수, 서로소 개념 소수와 합성수의 개념은 모두 최대공약수와 최소공약수를 구하기 위한 거였다. 공약수는 왜 배울까? 우리는 일상에서 숫자 하나만을 사용하지 않고 여러 숫자들을 비교하거나 연산하는 등등 수를 계산하게 된다. 이때 좀 더 효율적으로 계산 시간도 단축하고 우리의 머리도 좀 덜 복잡하게 계산할 수 있는 방법이 바로 공약수를 활용하는 것이다. 특히 숫자가 엄청나게 크거나 정말 많은 숫자들을 한 번에 계산해야 한다면, 공약수를 활용하는게 큰 도움이 된다. 공약수(common divisor)란? 둘 이상의 자연수의 공통인 약수 (참조) 약수(divisor)는 '어떤 수를 나누어 떨어지게 하는 수' (나머지가 없음) 예를 들면 : 5와 10의 공약수는 5의 약수는 1과 5이다. 10의 약수는 1, 2, 5, 10이다. 5.. 2021. 4. 4.
[스낵수학] 소수와 합성수, 소인수분해 개념 중학교 첫 수학은 소수의 개념을 배우며 시작된다. 소수를 왜 배울까? 일상에서는 자릿수가 많거나 복잡해 보이는 숫자가 적지만, 데이터 분석을 하거나 금융쪽, 기계 공학 등등에서는 단위가 높은 수를 빠른 시간내에 계산할 수 있어야 한다. 그래서 효율적으로 숫자를 표현하고 계산할 수 있는 기초적인 방법이 바로 '소인수분해'인 것 같다. 그런데 이 '소인수분해'를 알려면 이와 관련된 소수, 합성수, 인수, 약수 등등의 개념을 알아야 한다. 소수, 합성수, 소인수 분해 모두 1보다 큰 자연수(Natural Number)라는 전제하에 이해가 필요하다. 그렇다면 1은? 소수도 합성수도 아닌 자연수이다. 약수를 기준으로 자연수를 분류하면 1, 소수(약수2개), 합성수(약수3개이상)이 되기 때문이다. 1은 1자체가 자.. 2021. 4. 4.
grapgviz - ExecutableNotFound 에러 간단 해결 _ XGboost tree 그리기 * 에러 문구 : ExecutableNotFound: failed to execute ['dot', '-Tpng'], make sure the Graphviz executables are on your systems' PATH 원인 : 말 그대로 Path 문제 * 기존에 설치된 환경 python 3.7 pip install graphviz 진행함 * 체크하기 : graphviz 파일 있는지 확인 c:\users\user\appdata\local\programs\python\python37\lib\site-packages 이미 존재함.. ㅠㅠ * graphviz 직접 다운로드받아서 설치 1) 현재 stable한 패키지 설치 (window 기준) 1-1) 패키지 다운로드 https://graphviz.git.. 2020. 4. 8.
아나콘다 가상환경 기본 모음 아나콘다 가상환경 생성 : 첫번째는 그냥 생성 : 두번째는 특성 파이썬 버전으로 생성하면서 패키지 설치 진행 conda create --name usr_name conda create --name usr_name python=3.6 tensorflow 아나콘다 가상환경 확인 : 아래 둘 중 아무거나 써도 같음 conda env list conda info --envs 아나콘다 특정 가상환경 활성화 : 만약 따로 가상환경을 활성화하지 않으면 (base)에서 모두 실행됨 conda activate usr_name 아나콘다 가상환경 비활성화 conda deactivate 현재 활성화되어 있는 가상환경 확인 : (윈도우) 아나콘다 프롬프트를 켰을 때 (usr_name) (base) C:\Users\USER> :.. 2020. 4. 6.
[python] KeyboardInterrupt Error · 발생원인 : python 코드 실행시 Ctrl + C를 누를 때 발생 · 해결방안 1) 코드 실행시 해당 키를 누르기 않는다 2) 코드 실행시간이 오래 걸리는 경우 2-1) 하드웨어 사양을 업그레이드 2-2) colab, aws 등으로 사용 2-3) 하드웨어 사양에 맞춰 코드 수정 2020. 3. 2.
[회귀분석] 회귀분석 모델 한 번에 돌려서 가장 좋은 성능 모델 값 뽑기 사이킷런 패키지를 바탕으로 회귀모델 한 번에 돌리기 보스턴 데이터셋 예제로 진행 1. 데이터 로드 2. 데이터 확인 3. 전처리(na 값 처리, 스케일링) 4. 회귀 모델 돌리기 5. 최종 모델 from sklearn.datasets import load_boston import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 데이터 로딩 load_data = load_boston() print(type(load_data)) print(load_data.keys()) print(load_data.DESCR) # np에서 pd로 변환하기 data = load_data['data'] df_X = pd.DataFrame(columns=.. 2020. 2. 24.
병렬코퍼스 개요(정의, 구조, 활용, 제작 프로세스, 활용 라이브러리 등) 병렬코퍼스란? - 정의 : 2개 국어 이상의 번역된 문서를 모은 말뭉치를 병렬말뭉치 혹은 병렬코퍼스라고 부름 - 구조 : 문장 == 문장 혹은 문단 == 문단 - 활용 : 언어 간의 대조 분석, 번역 연구에 활용 - 주의점 : 되도록 직역한 것 위주로 모으고, 원문과 번역문의 표시를 명확하게 하기 - 제작 프로세스 1) 소스 언어(source language)와 타깃 언어(target language) 사이의 단어 사전을 준비함 2) 준비된 단어 사전이 없다면 '3~6'의 프로세스 진행, 준비된 사전이 있다면 7의 프로세스로 진행 3) 각 언어에 대해서 코퍼스를 수집하고 정제함 4) 각 언어에 대해 단어 임베딩 5) MUSE를 통해 단어 레벨 번역기를 훈련함 6) 훈련된 단어 레벨 번역기를 통해 두 언어.. 2020. 2. 13.
[005:프로그래밍, 프로그램, 데이터] 훌륭한 프로그래머 되는 법 _ 정리 및 서평(작성중) _Part 1 you.write(code); _1장 코드에 신경 쓰기 좋은 프로그래밍 코드란? 필자는 좋은 코드에 대해 네 가지로 정리하고 있다. 첫 번째는 올바르게 작동하는 훌륭한 코드 두 번째는 의도가 드러나는 코드 세 번째는 유지 보수가 가능한 코드 네 번째는 정확한 코드 일하다보면 암호화 코드, 들여쓰기 안 된 코드 등 가독성을 떨어뜨리는 코드들이 많다 길이가 너무 길어도 좋지 않지만, 적당하게 너무 축약하지 않아도 좋은 것 같다. 그리고 무엇보다 모듈별로 나눠서 짜는 것이 향후 유지 보수 및 이해하기 좋은 것 같다. _2장 정돈된 코드 유지하기 정돈된 코드 유지하기를 보니 '코드 작성 규칙'이 있으면 사실 이런 고민을 하지 않아도 될 것 같은데, 한국은 아직 이러한 문화가 잘 성립되지 않은 거 .. 2020. 1. 28.
확률과정(stochastic process )_간단 이론 정리 1. 정의 - 확률법칙에 의해 생성되는 일련의 통계적인 현상(확률과정은 박테리아의 개체수, 주식가격 등과 같이 시간의 흐름에 따라 비결정적으로 변하는 어떤 계(system)를 각 시점에서 나타나는 수치적인 양을 확률변수로 기술하고 이 확률변수들를 시간 흐름별로 나열한 집합으로 모형화할 때 사용된다. 여기서 시간의 흐름이 이산적일 때 이산 시간 확률과정 또는 시계열(time series)이라 하고, 연속적일 때는 연속시간 확률과정) - 확률 과정(Stochastic process, Random process)은 상관 관계를 가지는 무한개의 확률 변수의 순서열(sequence of infinite random variables)을 말한다. 확률 과정에 포함된 확률 변수는 시간 변수 𝑡를 기준으로 정렬 - 시.. 2019. 8. 21.
[자연어처리] 독학을 위한 자료 모음 1. 온라인 강의 모음 https://www.edwith.org/deepnlp 에듀케이션위드 : edwith 에드위드(edwith)는 네이버(NAVER)와 커넥트재단(CONNECT)이 제공하는 온라인 강좌(MOOC : Massive Online Open Course) 교육 플랫폼입니다. 에듀케이션위드(education with) 에드위드(edwith)로 분야별 명품 강좌를 무료(Free Course)로 수강하세요. www.edwith.org 2. 자료 모음 ttps://github.com/uhmppi1/modu_nlp_tutorials/tree/master/presentation uhmppi1/modu_nlp_tutorials Modulabs NLP & Sequential Modeling - Lectur.. 2019. 8. 9.
[BERT] 자연어처리 경험 수준별로 읽기 좋은 BERT 관련 좋은 자료 링크 1. bert에 대해 알고 싶은 초보자 http://www.aitimes.kr/news/articleView.html?idxno=13117 인공지능(AI) 언어모델 ‘BERT(버트)'는 무엇인가 - 인공지능신문 지난해 11월, 구글이 공개한 인공지능(AI) 언어모델 ‘BERT(이하 버트, Bidirectional Encoder Representations from Transformers)’는 일부 성능 평가에서 인간보다 더 높은 정확도를 보이며 2018년 말 현재, ... www.aitimes.kr 2. bert와 ELMO의 세부 알고리즘을 구분해서 알고 싶은 중급자 (영어 자료임) http://jalammar.github.io/illustrated-bert The Illustrated BERT, ELM.. 2019. 7. 31.
반응형