(2022.04.02) 기계학습 수업들으면서 정리하기 8탄 Lecture4_ML 내용정리-2 다변량 선형회귀 분석을 위해서는 데이터 확보가 매우 중요하다. 캐글(kaggle)이라는 사이트는 다양한 데이터를 가지고 있는데, 여기서 데이터를 가져와 실습을 진행해보았다. y는 기대수명으로 두고, x에 해당하는 데이터를 정리하려고한다. 기대수명과의 상관관계를 파악하여 상관관계가 높은 데이터만 가져오고, 낮은 데이터를 버리도록 한다. 왜냐면, 상관관계가 크지 않는 데이터까지 포함해버리면, 학습이 잘 되지 않거나, 예측의 신뢰도가 떨어질 수 있기 때문이다. 1. 우선, 다변량 데이터의 값이 있는지 없는지를 판별한다. --> isnull() 2. 데이터 값이 없다면, dropna(inplace=True) 를 통해서 ..
(2022.03.30~04.01) 기계학습 들으면서 정리하기 7탄 Lecture4_ML 내용정리-1 예측선 긋기: 선형회귀 -----> 오차 수정하기: 경사하강법 (오차를 줄이는 방향으로 함수의 계수를 최적화함) 회귀 Regression : 회귀 분석은 대표적인 지도학습 알고리즘 선형회귀: 독립변수 x를 사용하여 종속변수 y의 움직임을 예측하고, 설명하는 작업. 예측선을 긋는 일 - 단순 선형회귀: 하나의 x값으로 y값 설명이 가능할 때 - 다중 선형회귀: x값이 여러 개 필요할 때 - 선형회귀의 모델은 선형 방정식, 동작을 결정하는 파라미터는 직선의 기울기(w)와 y절편(b) - 선형회귀의 오차함수(손실함수,비용함수)의 예로는 평균제곱오차가 있음 - 선형회귀에서의 학습은 손실함수인 MSE를 최소로 만드..
(2022.04.01) 네트워크 보안 및 실습 강의 들으면서 정리하기 2탄 실습 2주차 내용 정리 Block cipher (블록암호) : 블록 단위로 암호화를 수행하는 알고리즘 - 단순한 함수를 반복적으로 적용하여 암호학적으로 강한 함수를 만든다. (round 함수) - round 의 적용 방법에 따라 Feistel 과 SPN으로 구분된다. DES (Data Encryption Standard) - 1977년 미국 연방 정보 처리 표준 규격으로 채택된 symmetric encryption , block cipher - 이제는 brute-force attack 으로 해독 가능하여 보안 성능이 떨어짐 key: 56bit --> round key: 48bit plain text: 64bit cipher tex..
(2022.03.31) 네트워크 보안 및 실습 강의 들으면서 정리하기 1탄 1주차 내용 정리 현대암호학 내용이랑 꽤 겹친다. (그냥 똑같은 것 같기도,,) Cryptography(암호) - 암호 분류의 기준은 3가지가 있음 1. 평문에서 암호문으로의 연산 유형 substitution cipher transposition cipher 2. 사용되는 키의 수 Symmetric key encryption = secret key encryption Asymmetric key encryption = pulbic key encryption 3. 평문 처리 방법 block cipher stream cipher Classical Cryptography(고전암호) : 고전암호는 대칭키 암호(symmetric key en..
(2022.03.26) 기계학습 수업들으면서 정리하기 6탄 Lecture3_ML 내용정리-2 Pandas numpy는 2차원 행렬 형태의 데이터를 지원함--> 데이터 속성을 표시하는 행과 열의 label을 가지고 있지 않음 --> python pandas 패키지로 문제 해결 - 2가지 데이터 구조 제공: 시리즈, 데이터프레임 - 시리즈: 동일 유형의 데이터를 저장하는 1차원 배열 - 데이터프레임: 시리즈 데이터가 여러 개 모여 2차원적 구조를 갖는 것 - 각 행과 열의 이름 부여 --> 행: index, 열: columns --> 시리즈를 모아 하나의 데이터프레임으로 만들 수 있음 --> pandas의 DataFrame 클래스 이용 --> python의 딕셔너리 구조: key-열의 이름 , value-데..
(2022.03.26) 기계학습 수업들으면서 정리하기 5탄 Lecture3_ML 내용정리-1 ( *실습은 구글 코랩환경에서 python으로 이루어짐 ) ( 데이터처리패키지 - numpy, pandas ) ( 머신러닝 도구 - scikit learn, tensorflow ) Numpy : 머신러닝을 위한 데이터 처리의 핵심 도구 데이터 처리를 위해서는 리스트와 리스트 간의 다양한 연산이 필요 --> but, python 기본 리스트는 기능 부족, 연산 속도 느림 --> numpy 배열 선호 numpy의 배열은 1차원 - 벡터, 2차원 - 행렬 로 간주하여 연산 numpy의 핵심 객체는 다차원 배열 - 배열의 각 요소: 인덱스(index) -정수 - 차원: 축(axis) 리스트는 동일하지 않은 자료형 항목도..
(2022.03.26) 기계학습 수업들으면서 정리하기 4탄 Lecture2_ML 내용 정리-3 과적합: overfitting - 특정한 데이터 집합에만 매우 정확하며, 다른 데이터에는 들어맞지 않는 상태 - 일반화가 제대로 되지 않음을 의미 - 주요 원인: 1) 학습에 사용된 데이터 수가 적음 2) 데이터를 설명하기 위한 곡선이 너무 복잡함(사소한 것까지 반영됨) 과적합 해결하기: 패널티 부여 과적합의 근본적인 문제는 모델에 지나친 자유를 부여한 것 --> 모델이 데이터에 지나치게 맞춰지지 않도록 억제해야함 --> 모델을 복잡하게 하지 않도록 복잡성에 대한 regularization 기법(패널티)을 이용함. --> 단순하게 --> 학습은 오차를 줄이는 것 뿐만 아니라 패널티 항도 같이 줄이는 일을 하게 ..
(2022.03.26) 기계학습 수업들으면서 정리하기 3탄 Lecture2_ML 내용 정리 -2 머신러닝은 문제를 해결하는 모델 모델의 동작을 결정하는 것은 파라미터 파라미터를 더 좋은 상태로 변경하는 것이 학습 모델은 현재의 파라미터를 바탕으로 행동을 하는데, 이는 실제 결과와 차이가 있음. --> 이를 오차라고 함. 오차가 없다 == 학습이 완벽하게 잘 되어있다 == 모델이 데이터를 잘 설명한다고 볼 수 있다 ---> 학습이란 오차가 줄어드는 방향으로 파라미터를 변경하는 일이라고 할 수 있음. 경사하강법: Gradient Descent - 현재 가중치 w위치에서 오차 곡면의 기울기를 알면, 기울기를 따라 내려가 곡면의 낮은 곳으로 갈 수 있음 - 최적해에 도달하면, 기울기 벡터가 0이 될 것이고, 이..
(2022.03.25) 기계학습 수업 들으면서 정리하기 2탄 Lecture2_ML 내용 정리 -1 간단하게 알아둘 수학 기호, 표기법들 머신러닝은 데이터(특징값을 원소로 하는)를 입력으로 제공, 컴퓨터에게 분류/판단/행위를 하게 함. 다수의 원소를 가지는 데이터를 다뤄야 함 --> 벡터 데이터 머신러닝 모델에 데이터가 제공되면, 다양한 변화과정을 겪음 --> 벡터에 행렬을 곱하는 일 ---> 벡터와 행렬을 다룸 ----> 선형대수 벡터 핵심 정리 +) 두 행렬 A와 B를 곱할 때, A의 열의 개수==B의 행의 개수이어야함. 머신러닝에서 사용되는 여러 기법에서 가장 중요한 것은 미분이다. 미분: 순간 변화량을 구하는 것 --> 독립 변수값의 변화량에 대한 함수값 변화량 비의 극한 편미분: 둘 이상의 변수를..
(2022.03.25) 기계학습 들으면서 정리하기 1탄 Lecture1_ML 내용 정리 ML 기초 지식 기존의 문제 해결 방법: 인간이 기계에게 하나하나 지시하는 것 - 새로운 문제해결이 불가능 머신러닝: 문제를 해결하는 일반적인 방법을 가르쳐줌 - 새로운 문제 해결이 가능 - 단순 지시가 아님 데이터가 입력되고 패턴(규칙)이 분석되는 과정 --> 학습 파라미터를 변경하여 동작이 결정되는 프로그램 --> 모델 더 좋은 동작이 나오도록 파라미터를 변경하는 것 --> 학습 머신러닝은 1) 파라미터에 따라 동작하는 알고리즘을 선택하고, 2) 이 알고리즘에 데이터를 제공해서 알고리즘이 더 나은 동작을 하도록 파라미터를 수정하는 것 이라고 정리해볼 수 있음. Tom Mitchell 작업 T (task) : 컴퓨터..
(2022.03.19) 인공지능 수업들으면서 정리하기 1탄 PyTorch1, PyTorch2 강의노트 내용정리 참고자료:https://wikidocs.net/book/2788 Broadcasting Multiplication & Matric Multiplication Mean Sum Max, Argmax view(reshape) squeeze unsqueeze typecasting concatenate stacking ones and zero In-place operation
(2022.03.11) 데이터베이스 수업 들으면서 정리하기 2탄 2주차(3/11 강의) 1. DBMS의 등장 배경 데이터베이스 관리 시스템 이전에는 파일시스템으로 데이터를 관리했다. 그러나 파일 시스템으로 데이터를 관리하는 데에는 단점이 있음 파일 시스템(file system): 파일로 데이터를 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어 -> 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함 파일 시스템의 문제점 데이터 중복성 데이터 종속성 --> 파일의 구조를 바꾸면, 응용 프로그램 구조도 바꿔야함. 데이터 파일에 대한 동시 공유, 보안, 회복 기능 부족 응용 프로그램 개발 어려움 +) 데이터 중복성 관련 내용 --> 같은 내용의 데이터가 여러 파일에 중복저장되..
(2022.03.11) 데이터베이스 수업 들으면서 정리하기 1탄 1주차(3/8 강의 내용) 정리할 내용 목차 - 데이터와 정보의 개념과 차이 - 데이터베이스의 필요성 - 정보시스템의 개념과 발전과정 - 데이터베이스 정의, 특징, 분류 데이터와 정보의 개념과 차이 & 데이터베이스의 필요성 Data는 현실세계에서 관찰, 수집한 결과로 나타는 사실(fact)를 의미한다. Information은 data를 가공,처리하여 의사결정에 활용하도록 체계적으로 조직한 결과물을 말한다. - data는 information에 비해 상대적으로 쉽게 획득된다. - information은 가공처리된 data로 정보시스템을 이용하여 특별한 노력을 통해서 획득된다. --->data를 가공,처리하는 과정에서 다양한 informatio..
(2021.01.03) 공부는 거의 언제나 하기 싫었지만,, 오늘은 유독 하기 싫네,, 간단하게라도 기록하려고 남겨둔다 [맥북에서 express로 서버 구축하기] - 초간단 순서대로 터미널에 입력 $ sudo npm install -g express-generator $ express nodejsproejct 이 세가지 명령어를 입력해주면 끝~ $ cd nodejsproject $ npm install $ DEBUG=nodejsproject:* npm start 이제 크롬에다가 localhost:3000 에 들어가면 서버가 구축된 것을 확인할 수 있음
(2021.01.03) 참고 사이트: https://javafa.gitbooks.io/nodejs_server_basic/content/chapter3.html 3. 서버구축하기 - http basic · node.js 서버구축하기 javafa.gitbooks.io [실습과정] 서버 구축용 폴더를 만든다. (desktop/workspace/node_js/server_basic) 참고 사이트에 나와있는 코드를 바탕으로 server.js 를 만들었다 터미널에 node server 입력하고, $ node server http://localhost:8080/ 에 들어가면 서버가 구축된 것을 볼 수 있다 [코드 분석] var http = require('http'); http 모듈을 require 로 불러온다. ..