분류 전체보기
-
[C 언어 기초 정리 01] C 프로그래밍 & 입출력개발 이야기/C 2023. 9. 20. 22:48
사담이다. 사실 c를 배운지는 오래되었지만, 너무 주먹구구식으로 배웠었다. 하지만.. 컴공(소) 전공수업을 들으면서 c로 코드를 짤 일이 매우매우 많아졌고..! 코드 예시도 c가 대다수라 이렇게 급하게 c 프로그래밍의 기초적인 내용들을 작성해본다. 현재 배우고 있는 내용 특성상 포인터와 포인터함수에 관한 내용을 위주로 작성하려고 한다. 아래의 내용들은 http://www.tcpschool.com/c/ 의 내용들과 https://wikidocs.net/book/1411 를 참조해서 작성하였다. Program & Programming Program이란 무엇일까? 프로그램이라는 것은 어떠한 일의 진행계획이나 순서를 말한다고 한다. 프로그램이란 '목적을 위해 작성된 일련의 명령문(어)의 순서나 목록'이라고 할 ..
-
[PyTorchZerotoAll 내용정리] 09: Softmax ClassifierML&DL 이야기/Pytroch 2023. 9. 5. 13:13
06, 07 내용에 이은 Softmax Classifier이다. Logistic Reression은 단일 품목을 labeling하기 위한 방법이었다. 예시를 들면 개인지, 개가 아닌지?를 판단하는 모델을 학습하는 것이었다. 하지만 우리는 때에 따라서 해당 동물의 사진이 개인지, 고양이인지, 토끼인지, 두더쥐인지 다양한 품목, 종류에 대해 판명해야할 때도 많다. 이를 위해 우리는 Soft max 함수가 필요하고, 이러한 문제를 multi-classification problem, 혹은 model이라고 한다. 기존 classification 문제와 달리 그러면 multi-classfication문제이기 때문에 우리가 분류해야하는 n개의 label에 맞게 n차원의 output을 내야할 것이다. 기존의 clas..
-
[PyTorchZerotoAll 내용정리] 08 DataLoader & DatasetML&DL 이야기/Pytroch 2023. 9. 4. 12:23
https://tutorials.pytorch.kr/beginner/basics/data_tutorial.html Dataset과 DataLoader 파이토치(PyTorch) 기본 익히기|| 빠른 시작|| 텐서(Tensor)|| Dataset과 DataLoader|| 변형(Transform)|| 신경망 모델 구성하기|| Autograd|| 최적화(Optimization)|| 모델 저장하고 불러오기 데이터 샘플을 처리하는 코 tutorials.pytorch.kr 이전 영상의 코드에서는 위와 같은 방식으로 data를 불러왔다. 보면 데이터를 pandas를 이용해 읽고, 이후 각 data를 numpy로 변환하였는데 해당 방식보다 효율적인 방식이 파이토치에는 존재한다. Dataset과 DataLoader이다. ..
-
[PyTorchZerotoAll 내용정리] 07 Wide(다변량) & Deep(gradient vanishing problem)ML&DL 이야기/Pytroch 2023. 8. 30. 12:55
Wide 이전 시간(06) logistic regression을 이용해 PHD 합격 여부를 예측하는 모델을 만들었었다. 그러나 실제로 합격, 불합격이라는 결과를 만들기 위해서는 GPA 뿐만 아니라 더 많은 요소들이 고려될 것이다(다변량) 이런 다양한 input을 받아서 output으로 표현하기 위해서는 행렬의 곱셈 연산이 필요하다 즉, 위와 같이 각 input의 data를 column형태로 쌓아 행렬로 만들고, 해당하는 데이터의 수만큼 가중치를 추가하면 된다. 이것이 Wide&Deep에서 Wide이다. 코드로는 아래와 같이 표현 가능할 것이다(n은 input data의 종류의 수) import torch linear = torch.nn.Linear(n,1) y = linear(x_data) Deep De..
-
[PyTorchZerotoAll 내용정리] 06 Logistic(sigmoid) Regression = Linear classificationML&DL 이야기/Pytroch 2023. 8. 27. 13:49
Linear regression의 경우 우리의 예측 값은 실수형태로 떨어졌다. 즉, 연속된 값을 가정하였다. 이번에는 Binary prediction이 필요한 경우, 즉, 카테고리 분류나 O,X 분류가 필요한 경우를 가정해보자. 실생활에서 이와 같은 경우는 위와 같이, 기나 아니냐 라는 케이스가 대다수이다. Classfication = Logistic Regression 0,1로 결과값을 제약하려면 어떤 함수가 필요할까?? 우리는 Sigmoid함수를 이용할 수 있다. 이런 함수를 activation 함수라고도 하는데, 시그모이드 함수는 그 함수의 특성상 0을 기준으로 값이 급격하게 1로 가까워지거나 0으로 가까워지는 특성이 있다. 즉, 과 1 사이의 실수 결과가 나온다면 특정한 임계치를 정하고 그 이상이..
-
[ML] Optimizer란 무엇인가ML&DL 이야기/ML 2023. 8. 24. 23:40
https://tutorials.pytorch.kr/beginner/basics/optimization_tutorial.html 앞선 글에서 처럼 각 반복 단계에서 모델은 출력을 추측하고, 추측과 정답 사이의 오류(손실(loss))를 계산하고, 매개변수에 대한 오류의 도함수(derivative)를 수집한 뒤, 경사하강법을 사용하여 이 파라미터들을 최적화(optimize)합니다(https://www.youtube.com/watch?v=tIeHLnjs5U8) 24.1.23 LG Aimers 이화여자대학교 강제원 교수님의 강의 내용 추가 하이퍼파라미터(Hyperparameter) 하이퍼파라미터는 모델의 최적화 과정에서 우리가 직접 제어할 수 있는, 조절 가능한 매개변수이다. 이를 조절하는 것을 하이퍼파라미터 ..
-
[PyTorchZerotoAll 내용정리] 05 Linear Regression in pytorch(pytorch Project 개발순서 익히기)ML&DL 이야기/Pytroch 2023. 8. 23. 15:20
Pytorch Project Rhythm pytroch 모델을 개발하고 학습하는 사이클을 크게 위의 3단계를 거친다. 위에 1에 우선시 되는 단계도 있어서(강의에서도 간단히 언급하고 넘어감) 이를 토대로 정리하고 각 코드가 어떻게 대치되는지 확인해보자. 0. Data 다루기 torch.autograd.Variable는 2021.01.12 기준 1.7 version에서는 더 이상 사용되지 않습니다. 현재는 모든 tensor가 자동적으로 Variable의 성질을 가지기 때문에 굳이 사용할 필요가 없으나(즉, autograd 설정이 가능합니다) 과거 버전의 코드를 수행함에 있어 Variable을 사용하는 경우가 있습니다 import torch 이후에 여러 패키지를 import하고, 이후 학습에 필요한 데이터를..
-
[파인만 기법과 개념의 이해] 23.08.22그리고/일상 이야기 및 회고 2023. 8. 22. 03:33
https://www.youtube.com/watch?v=qrpyswoATQ8 1. 알고 싶은 주제를 골라 공부한다. 일단 무엇이든 관심 있는 주제를 골라 그에 대한 조사를 하고 관련 내용을 찾고 공부한다 2. 알게 된 내용을 가르쳐 본다 7살 어린아이, 혹은 비전문가에게 가르친다고 생각하고 알고 있는 것을 정리해서 적어보자. 이때 상상 속의 배우는 아이에게 최대한 일반적인 단어로 설명하려고 하자. 복잡한 용어를 썼을 때 내가 그것을 진정으로 이해하고 사용했는지, 혹은 단순히 해당 단어를 암기한건지 의심해보자. 3. 설명하기 어려운 부분을 골라낸다 설명하기 어려운 부분이 바로 내 지식의 빈틈이다. 해당 빈틈들을 찾아보자. 너무 복잡한 단어, 혹은 전문적인 용어가 있다면 이를 쉽게 문장으로 바꿔보자. 이것..