머신러닝 통계학 핵심 개념 - 머신러닝 분야의 발전 방향 : 수학 → 통계학 → 컴퓨터과학 → 머신러닝 - 통계 모델은 수학적 모델 → 변수들로 이루어진 수학식을 계산해 실제 값을 추정하는 방법 ex. 직선 위에 존재하는 각 점 == 데이터 / 수학적 모델로 생성 → 통계 모델 - 통계 모델을 이루는 여러 가정은 확률 분포를 따름 ex. 정규분포 : 평균에 수렴하는 구조. (평균치가 가장 많은 구조, 양 극단이 적어지는 모양==종형태) - 통계 모델은 모든 변수가 만족해야 하는 기본 가정으로 시작, 이 조건이 만족 시 모델의 성능이 통계학적으로 의미를 갖음. 용어 정리 - 모집단 : 모든 관측값 또는 분석 대상의 전체 데이터 (ex. 인구 총 조사) → 단점 : 고비용 - 표본 : 모집단의 부분집합, 분..
머신러닝을 위한 통계 기초 [ 개요 ] 1. 통계학의 용어와 통계 모델링에 대해 살펴본다. 2. 기술 통계학과 추론 통계학의 핵심 내용에 대해 살펴본다. 3. 가설 검정의 방법과 절차에 대해 살펴본다. 통계학 : 수치 데이터의 수집, 분석, 해석, 표현 등을 다루는 수학의 한 분야로 크게 기술 통계학과 추론 통계학으로 분류. - 기술 통계학: 연속형 데이터 → 평균, 표준편차와 같은 자료 요약 (키, 나이, 가격 등) 범주현 데이터 → 빈도, 백분율과 같은 자료 요약 (성별, 성씨 등) - 추론 통계학: 표본이라 불리는 일부 자료를 수집, 전체 모집합에 대한 결론 추론 추론은 가설 검정, 수치의 특징 계산, 데이터 간 상관관게 등을 통해 이루어짐 통계 모델링 : 데이터에 통계학을 적용, 변수의 유의성을 ..
※ 본 게시물에 사용된 내용은 대다수 에서 사용된 자료이며, 일부 자료는 추가 수정한 부분도 존재합니다. 합성곱 신경망(Convolutional Neural Network)의 발견 CNN : 다차원 데이터를 위한 신경망 자세한 개념은 다음 포스팅 [Pytorch-기초강의] 4. 이미지 처리 능력이 탁월한 CNN(Convolution, kernel, Padding, Pooling) ※ 본 게시물에 사용된 내용 및 그림의 출처는 대다수 에서 사용된 자료이며, 일부 자료는 추가 수정한 부분도 존재합니다. - CNN(Convlutional Neural Network)의 기초 yjs-program.tistory.com 본 챕터에서는 CNN의 기초적인 동작부터 간단한 CNN모델까지 구현해보는 실습을 진행한다. 자세..
※ 본 게시물에 사용된 내용은 대다수 에서 사용된 자료이며, 일부 자료는 추가 수정한 부분도 존재합니다. 텐서플로2와 케라스 시작 텐서플로(TensorFlow): 구글 브레인 팀에서 제작, 연구원과 머신러닝 전문가가 사용하는 수학 라이브러리로, 심층 신경망을 훈련시키고 실행하는데 주로 사용된다. TensorFlow 모두를 위한 엔드 투 엔드 오픈소스 머신러닝 플랫폼입니다. 도구, 라이브러리, 커뮤니티 리소스로 구성된 TensorFlow의 유연한 환경입니다. www.tensorflow.org 텐서플로는 간단하게 다음과 같은 추상 아키텍쳐를 갖고 있다. 대다수의 딥러닝 계산은 C++로 구성되어 있으며, GPU나 에서 계산을 실행하기 위해 Nvidia에서 사용하는 CUDA 라이브러리를 사용하게 된다. (이래서..
Numpy Seed 파이썬, C++ 과 같이 난수를 발생시켜 수행하는 코드에서는 주로 Numpy의 random함수를 많이 사용한다. 그 중에서도 np.random.seed라는 코드가 존재하는데 이는 시드(seed)를 설정해주는 과정이다. 사실 컴퓨터 프로그램에서 발생한 랜덤값은 무작위 수가 아니라 특정 시작 숫자값을 정해주면 정해진 알고리즘에 따라 마치 난수처럼 보이는 수열을 생성하는 것이다. 이때 설정해주는 특정 시작 숫자가 바로 시드(seed)이다. 이 시드값은 보통 현재 시각 등을 이용해 자동으로 정하기도 하지만, 직접 사람이 수동으로 설정할 수도 있다. 특정 시드값이 사용될 경우 이후에 발생되는 난수를 알고리즘에 따라 직접 예측할수도 있다. np.random.seed(0) python을 사용해 예..
※ 본 게시물에 사용된 내용은 대다수 에서 사용된 자료이며, 일부 자료는 추가 수정한 부분도 존재합니다. Computer Vision 컴퓨터 비전 : 디지털 이미지(영상)에서 정보를 자동으로 추출하는 것 = 컴퓨터에게 인간이 이해하는 방식, 그보다 더 나은 방식으로 픽셀 단위의 데이터를 이해하는 방법을 가르치는 것. 컴퓨터 비전의 주요 목적은 콘텐츠 인식: 이미지를 이해하는 것, 즉 픽셀로부터 유의미한 의미론적 정보(이미지 내 객체, 위치, 개수 등)을 추출하는 것. 자세한 컴퓨터 비전의 세부 분류는 다음과 같다. - 객체 분류(Object Classification) : 객체 분류(이미지 분류)라 불리며, 사전 정의된 집합의 이미지 전체에 적절한 label(or class)을 할당하는 작업 - 객체 식..
이미 다루고 있던 Tensorflow의 기초 및 Computer Vision 기술 개념을 재정리 하기 위한 포스팅 시리즈 깔끔하게 재정리하기 위해 다음 교재를 토대로 작업할 예정 관련 코드는 아래 깃허브에 공유되어 있다. GitHub wikibook/dl-vision 《실전! 텐서플로 2를 활용한 딥러닝 컴퓨터 비전》 예제 코드. Contribute to wikibook/dl-vision development by creating an account on GitHub. github.com
※ 본 게시물은 Pytorch 기초 강의 9. DQN 포스팅의 이해를 위해 작성한 부가 포스팅입니다. 강화학습(Reinforcement Learning) 강화학습 : 보상(reward), 처벌(penalty)를 미리 설계하고 스스로 환경을 경험하며 학습(from.포스팅) = 환경과 상호작용하여 좋은 점수를 얻는 방향으로 성장 = 사람은 목표를 설정해주고 당근과 채찍을 이용해 성장시키는 코치의 역할 강화학습의 구성요소 1. 에이전트(agent) : 인공지능 플레이어 2. 환경(environment) : 에이전트가 솔루션을 찾기 위한 무대 3. 행동(action) : 에이전트가 환경 안에서 시행하는 상호작용 4. 보상(reward) : 에이전트의 행동에 따른 점수 혹은 결과 강화학습의 사례 - 알파고 - 로..
※ 본 게시물에 사용된 내용의 출처는 대다수 에서 사용된 자료이며, 개인적인 의견과 해석이 추가된 부분도 존재합니다. 그림의 경우 교재를 따라 그리거나, 제 임의대로 추가 수정한 부분도 존재합니다. 저 역시도 공부하고자 포스팅한 게시물이니, 잘못된 부분은 댓글로 알려주시면 감사하겠습니다. +) 본 포스팅은 기초 RL 용어는 알고 있다는 전제 하에 작성하였습니다. RL에 대한 기초적인 정보는 다른 포스팅을 참고해주시기 바랍니다. Model-Based Algorithm vs Model-Free Algorithm Model-based algorithm : 환경에 대해 이미 다 알고 학습 - 환경(environment)에 대해 알고 있고, 행동에 따른 환경 변화를 아는 알고리즘 - 어떤 state에서 어떤 ac..
※ 본 게시물에 사용된 내용의 출처는 대다수 에서 사용된 자료이며, 개인적인 의견과 해석이 추가된 부분도 존재합니다. 그림의 경우 교재를 따라 그리거나, 제 임의대로 추가 수정한 부분도 존재합니다. 저 역시도 공부하고자 포스팅한 게시물이니, 잘못된 부분은 댓글로 알려주시면 감사하겠습니다. - GAN의 기초 - GAN으로 새로운 패션 아이템 생성하기 - cGAN으로 생성 제어하기 GAN이란 GAN(Generative Adversarial Network) - lan Goodfellow(2014)에서 제안한 네트워크 모델 - Unsupervised Learning(비지도학습)의 대표적인 알고리즘 - 서로 대립하는 역할의 두 모델이 경쟁하여 학습하는 방법론 G: Generative - GAN은 생성모델로 이미지..
※ 본 게시물에 사용된 내용의 출처는 대다수 에서 사용된 자료이며, 개인적인 의견과 해석이 추가된 부분도 존재합니다. 그림의 경우 교재를 따라 그리거나, 제 임의대로 추가 수정한 부분도 존재합니다. 저 역시도 공부하고자 포스팅한 게시물이니, 잘못된 부분은 댓글로 알려주시면 감사하겠습니다. - Adversarial attack - FGSM attack Adversarial Attack 머신러닝 기반의 서비스가 많아지면서, 자연스럽게 보안의 중요성도 높아져가고 있다. 자율주행, 은행의 비정상거래탐지, 의료영상분석 모델 등 시스템 상 실수가 용납되지 않는 분야에서는 신뢰도를 떨어뜨리는 것 자체가 치명적이다. 자율주행차가 표지판을 못보도록, 의료진단 시스템이 병을 놓치는 등, 다양한 공격방법이 날로 증가하고 있..
https://youtu.be/GmqW_v_bXiM 본 유튜브 강의를 토대로 제 나름 정리한 포스팅입니다. 자세한 설명은 유튜브 영상을 참고하시기 바랍니다. 관련논문 Domain-Adversarial Training of Neural Networks We introduce a new representation learning approach for domain adaptation, in which data at training and test time come from similar but different distributions. Our approach is directly inspired by the theory on domain adaptation suggesting that, for effe a..
본 포스팅은 앞에서 다룬 RNN내용의 심화 내용으로, 3분 딥러닝 교재에 없던 LSTM과 GRU 내용을 담은 포스팅이다. RNN의 문제점 LSTM과 GRU가 나오게 된 배경으로, 기존 RNN에는 장기 의존성(Long-Term Dependency) 문제가 발생한다. 일반적인 RNN의 경우 아주 긴 문장을 입력해준다 가정하였을 때, 학습 도중에 기울기가 너무 작아지거나 커져서 앞부분에 대한 정보를 끝까지 가져오지 못할 확률이 높아진다. (Gradient vanishing/exploding) 아래 예제를 일반적인 RNN의 동작 방식은 $h_{t}$시점의 출력 결과가 이전의 $h_{t-1}$계산 결과에 의존한다. 다만, 이럴 경우 짧은 시퀀스(sequence)의 데이터에 대해서만 효과를 보이지, 긴 데이터의 경..
※ 본 게시물에 사용된 내용의 출처는 대다수 에서 사용된 자료이며, 개인적인 의견과 해석이 추가된 부분도 존재합니다. 그림의 경우 교재를 따라 그리거나, 제 임의대로 추가 수정한 부분도 존재합니다. 저 역시도 공부하고자 포스팅한 게시물이니, 잘못된 부분은 댓글로 알려주시면 감사하겠습니다. - RNN(Recurrent Neural Network) - 영화 리뷰 감정 분석 - Seq2Seq 기계 번역 RNN(Recurrent Neural Network) 이전까지 다룬 이미지는 정적인 데이터이다. 이미지를 구성하는 가로, 세로 행렬 내에 정해진 숫자가 나열되어 있는 형태로 이 데이터는 외부의 조작이 있지 않는 이상, 시간이 지나도 변하지 않는다. - Sequential Data(시계열 데이터) : 데이터 집합..
※ 본 게시물에 사용된 내용의 출처는 대다수 에서 사용된 자료이며, 개인적인 의견과 해석이 추가된 부분도 존재합니다. 그림의 경우 교재를 따라 그리거나, 제 임의대로 추가 수정한 부분도 존재합니다. 저 역시도 공부하고자 포스팅한 게시물이니, 잘못된 부분은 댓글로 알려주시면 감사하겠습니다. - Supervised learning / Unsupervised learning - AutoEncoder Supervised vs Unsupervised Learning 이전까지 다뤘던 분류 모델들은 대다수 정답이 존재하는 데이터들로, 지도 학습(Supervised learning)을 가능케 하는 문제들이다. 하지만, 대다수 실세계의 수집 데이터는 특정 정답이 없으며, 단순히 주어진 데이터들을 구분할 수 있는 특정 패..