(2022.03.30~04.01) 기계학습 들으면서 정리하기 7탄 Lecture4_ML 내용정리-1 예측선 긋기: 선형회귀 -----> 오차 수정하기: 경사하강법 (오차를 줄이는 방향으로 함수의 계수를 최적화함) 회귀 Regression : 회귀 분석은 대표적인 지도학습 알고리즘 선형회귀: 독립변수 x를 사용하여 종속변수 y의 움직임을 예측하고, 설명하는 작업. 예측선을 긋는 일 - 단순 선형회귀: 하나의 x값으로 y값 설명이 가능할 때 - 다중 선형회귀: x값이 여러 개 필요할 때 - 선형회귀의 모델은 선형 방정식, 동작을 결정하는 파라미터는 직선의 기울기(w)와 y절편(b) - 선형회귀의 오차함수(손실함수,비용함수)의 예로는 평균제곱오차가 있음 - 선형회귀에서의 학습은 손실함수인 MSE를 최소로 만드..
(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.12.14) 알고리즘 수업 들으면서 정리하기 26탄 w15-2 녹강 + 보충강의 정리 저번 시간에 배우던 solvable problem 나머지 부분에 대해서 배웠따 개념이 너무 뒤죽박죽함 ▷ solvable problems > provably intractable problems (infeasible) : 해결하기 어려움이 입증된 문제 > probably intractable problems : 아마도 해결하기 어려울 것 같은 문제 ---> NP > tractable problems (feasible) : 다루기 쉬운 문제 --> P ▷ deterministic turing machine(DTM) : 주어진 state, 주어진 input 에 대해서 하나의 possible action만 존재하는..
(2021.12.08) 알고리즘 수업 들으면서 정리하기 25탄 w15-1 실강 정리 halting problem 을 배웠다. NP 정의도 배웠다. 교수님이 이 부분을 굉장히 자세하게 천천히 많이 설명해주셔서 오늘도 진도를 많이 안나갔다 교수님 추천 영상 https://www.youtube.com/watch?v=92WHN-pAFCs&feature=youtu.be Halting Problem (unsolvable problem) 프로그램 P와 input i 가 있고, 프로그램 P에 input i 를 넣는다. 그러면 두가지의 상황이 발생한다. > P halts on i > P runs forever on i 프로그램 P와 input i 가 있을 때, P가 i에 halt인지 아닌지를 알아낼 수 있는 프로그램 H..
(2021.12.07) 알고리즘 수업 들으면서 정리하기 24탄 w14-2, w14-3 녹강 정리 TM transition function, crashing, halting 에 대해 배웠다 저번 실강이랑 겹치는 내용이 많아서 정리할 내용이 거의 없다 TM transition function (여기서 Q의 정의부분이 틀렸다. halt 를 포함하지 않는다고 되어있는데 halt state도 포함한다) 이렇게 표현할 수 있다 example) Processing a string > string의 가장 왼쪽과 가장 오른쪽에는 blank symbol을 두고, blank가 아닌 string의 가장 첫번째 cell에 tape head를 두고 과정을 진행한다. > input string w에서 transition 과정이 진..
(2021.12.01) 알고리즘 수업 들으면서 정리하기 23탄 w14 실강 NP-completeness 내용 시작 계산 복잡도, 튜링 기계에 대해 배웠다 NP-completeness Computational Complexity > 알고리즘은 특정 알고리즘의 performance 특성 (성능 특성)에 대한 연구이다. > 계산 복잡도(계산 이론)은 알고리즘보다는 문제의 특성에 대한 연구이다. 우리는 문제를 solvable problem과 unsolvable problem으로 나눌 수 있다. > unsolvable problem은 다시 세가지로 나뉜다. 1. Unsolvable problems ---> halting problem 2. Solvable problems a. Provably intractable..
(2021.11.30) 알고리즘 수업 들으면서 정리하기 22탄 w13-2 녹강 N-Queens problem에 관한 내용이다 지금까지 배운 것 중에서 개념은 정말 쉬운 것 같은데 구현하는게 어려울 것 같다.. 시간나면 구현해봐야지.. N-Queens problem : backtracking 기본형 problem이다 n x n의 체스보드에서 n개의 서로다른 queen들이 서로 공격하지 않는 자리에 어떻게 둘 수 있는지를 물어본다. 예를 들어 n=4 라고 했을 때, 4개의 Queen들이 위치할 수 있는 전체 경우의 수는 16 x 15 x 14 x 13 = 43680 가지이다. 그러나 우리는 이를 더욱 간단하게 알아 볼 수 있다. --> search space를 줄여나가면서!! 기본적인 sketch idea는..