일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- end to end
- N-Queen
- pyenv
- 가상환경
- 실버
- BOJ
- 그리디 알고리즘
- 4948
- 설정
- 1002
- 경사하강법
- 파이싼
- 1101
- Python
- 신경망 학습
- 9020
- 손실함수
- 백준
- n과 m
- 파이썬
- 백트래킹
- 재귀
- 기계학습
- 밑바닥부터 시작하는 딥러닝
- 15649
- 개발환경
- Mac
- streamlit
- Today
- Total
목록전체 글 (181)
파이톨치
Byte-Oriented Memory Organization 프로그램에서 데이터는 주소로 언급된다. 실제로 그런건 아니지만 이것을 긴 배열이라고 생각해보자. 그러면 주소는 배열의 인덱스가 될 것이다. 컴퓨터는 "Word Size" 를 가지고 있다. 이는 정수의 사이즈를 말한다고 한다. 대부분의 기계는 32비트를 워드 사이즈로 가졌었다. 이것은 주소의 길이를 2 ** 32 비트 즉 4 GB 로 제한했다. 하지만 최근에 들어서 64비트 체계를 사용하면서 엄청나게 큰 주소를 담을 수 있게 되었다. 18EB라는 들어본적도 없는 단위를 사용한다. 뭐가 어떻게 다르냐면 다음과 같다. 주소의 단위가 64비트에서는 8씩 떨어지게 되는 것이다. 운영체제에 따라서 바이트에 순서를 매기는 법도 다르다. 위에 방법은 오른쪽에..
# 비트로 정보를 표현하기 우리가 배우는 것은 컴퓨터이고 모든 것은 비트 단위로 연산이 이루어 진다. 컴퓨터는 0과 1로 제어된다. 0일 때는 전류를 흘리지 않고 1일 때는 일정한 전류를 흘린다. 왜 비트를 쓰냐면? 부정확하고 노이즈가 있는 상태에서도 안정적으로 정보를 보낼 수 있어서 이다. 우리가 이진법이라고 부르는 것이 비트 연산이다. 예를 들어서 10진법 15213은 2진법에서 11101101101101로 표현된다. # Encoding Byte Values Byte = 8 bits 8비트는 1바이트이다. 1바이트가 표현할 수 있는 범위는 그러면 00000000에서 11111111까지가 된다. # Boolean Algebra Boolean Algebra는 논리 연산자로 이루어져 있다. And, Or,..
Descriptive Statistics # 서론 여기서 기술은 테크닉할 때 기술이 아니라 말하다를 의미하는 기술이다. 세상의 대부분은 복잡한 확률에 의해서 결정된다. 내가 하는 결정 또한 내 뇌에서 일어나는 화학작용이 일정한 확률로 발생한 것이다. 때문에 이러한 확률에 대해 기술하는 것은 굉장히 중요하지 않을까 싶다. 왜냐하면 너무나 많은 확률이 있기 때문이다. 하지만 현실 세계에서 일어나는 확률은 너무나 복잡해서 수학적으로 깔끔하게 계산할 수 없을지 모른다. 동전의 앞뒷면의 확률은 1/2로 생각하기 쉽지만 사실은 정확하게 1/2은 아닌 것과 비슷하다. 동전이 앞뒤가 생긴게 다른게 어떻게 1/2일까. 때문에 우리는 표본을 뽑아서 관찰하고 확률을 계산하는 방법을 사용한다. 동전을 천번 만번 던졌을 때 얼..
HTML HTML은 엄청 쉽고 재밌다. 근데 은근 할 수 있는게 많은 것 같다. 웹의 대부분은 HTML로 이루어져 있다. HTML은 약자이다. Hyper Text Markup Language 의 약자이다. 일종의 프로그래밍 언어이지만 많은 프로그래머들이 그게 무슨 언어냐며 무시한다. 하지만 내 생각에는 절대 무시하면 안된다. 이걸 어떻게 활용하냐에 따라 웹페이지가 하늘과 땅 차이다. 간단한 용어 정리 우리 컴퓨터구조 교수님은 용어가 엄청 중요하다고 하셨다. 그래서 간단하게 용어를 정리하려고 한다. HyperText는 하이퍼링크를 통해서 사용자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트이다. Markup Language는 Tag등을 이용한 문서나 데이터의 구조를 명시하는 언어이다. HTML은 ..
인공지능이란 무엇일까? 인공지능에 대해 생각하기 전에 지능이란 무엇일까 생각해보야 한다. 지능은 본능적이나 자동적으로 행동하는 대신에, 생각하고 이해하여 행동하는 능력이라고 한다. 인공지능은 굉장히 추상적인 개념이다. 많은 영화나 소설에서 사용된다. 하지만 어디부터 어디까지가 인공지능인지 그냥 단순한 프로그램인지 정의 하기 어렵다. 때문에 과거부터 인공지능에 대해 정의하려는 시도는 많이 있었다. 대표적으로 튜링 테스트가 있다. 영화 이미테이션 게임의 주인공 엘런튜링이 설계한 테스트이다. 이런 식으로 누가 컴퓨터이고 누가 사람인지 구분할 수 없다면 인공지능이라고 정의하는 것이다. 또 다트머스 회의라고 하는 회의에서 유명한 석학들이 인공지능에 대해 논의한적이 있다. 인공지능에 대한 정의들 과거부터 다양하게 ..
서버 접속하기 리눅스 머신은 네이버 NCLOUD를 이용해서 만들었다. 서버를 일단 만들고 난 후에 서버에 접속해야 한다. 윈도우의 경우는 추가로 프로그램을 깔아햐 하지만 맥북은 터미널에 그냥 입력하면 된다. 맥북 사랑한다 ㅎㅎ NCLOUD에 접속해서 포트 포워딩을 우선 설정해주어야 접속할 수 있다. 포트 포워딩을 안하면 아무리 명령어를 사용해도 접속할 수 없다는 문구가 뜬다. 명령어는 다음과 같다. ssh root@"서버 접속용 공인 IP" -p "외부포트" 이 명령어를 터미널에 입력해주면 비밀번호를 입력해주라고 뜬다. NCLOUD에서의 비밀번호를 말하는데 저기서 확인할 수 있다. 비밀번호를 입력하고 난 후에 다음과 같이 뜨면 성공이다. C 파일 만들고 실행하기 교수님이 vi 할줄 안다고 가정하고 진행하..
시스템 프로그래밍 이번학기부터는 리눅스를 사용하는 과목이 많아졌다. 시스템 프로그래밍도 그 중 하나이다. 교수님께서 NCLOUD를 사용해서 리눅스를 사용하시려고 한다. 트렌드에 맞게 선택을 하신 것 같다. 버츄얼 머신은 요즘 트렌드에서 조금 밀린 모양이다. NCLOUD 사용하기 https://console.ncloud.com/dashboard 다음 링크로 들어가면 NCLOUD를 사용할 수 있다. 리눅스를 사용하기 위해서 서버를 하나 만들 것이다. AWS와 비슷한 것 같다. 하지만 한국어로 되어 있어서 AWS보다 사용하기 편리했다. 절차도 네이버가 더 간단한 것 같다. 먼저 사이트에 들어가 계정을 만들고 서비스 중에서 서버를 선택해야 한다. 그러면 다음과 같은 페이지가 뜬다. 여기서 서버 생성을 해서 서버..
기본 전처리 사용 데이터는 AI 허브의 감성 대화 말뭉치이다. df_train = pd.read_excel('train.xlsx', engine='openpyxl') df_test = pd.read_excel('test.xlsx', engine='openpyxl') df_train.replace(np.nan, '', inplace=True) ls = {} df = pd.DataFrame(ls) df['문장'] = df_train[['사람문장1', '사람문장2', '사람문장3', '사람문장4']].apply(' '.join, axis =1) df['감정'] = df_train['감정_대분류'] df['문장'].replace('', np.nan, inplace=True) print(df.isnull().va..