전체 글 8

개인 프로젝트 - 모델 도구를 만들어보자(2) : layer

서론  전 시간에 뉴런에 대해서 알아보고 직접 뉴런을 구현했습니다. 모델을 만들 수 있는 도구를 만드는 게 최종 목표인데요. 그러기 위해서 처음부터 하나씩 구현해 가며 기능을 확장시켜 보려고 했습니다. 그래서 맨 처음으로 뉴런 하나라도 만들어 보자는 심정으로 뉴런 클래스를 만들어 보았습니다. 그다음은 당연히 뉴런 객체들을 합치면 레이어가 쉽게 완성될 줄 알았습니다. 그러나 더 간단하고 확실한 방법이 있었습니다! 행렬 곱을 통해서 여러 개의 입력에 대해 여러 개의 뉴런을 가진 레이어의 개념을 만들 수 있었죠. 바로 시작해 보겠습니다! 이전글 : 개인 프로젝트 - 모델 도구를 만들어보자(1) : 뉴런 개인 프로젝트 - 모델 도구를 만들어보자(1) : 뉴런계기  처음엔 '정말 정말 작고 단순한 프로젝트 하나를..

개인 프로젝트 - 모델 도구를 만들어보자(1) : 뉴런

계기  처음엔 '정말 정말 작고 단순한 프로젝트 하나를 진행해 볼까?' 하고 생각했습니다. 근래에 선형 회귀에 대해서 공부했기도 하고 관련된 무언가가 좋을 것 같아서 다층 퍼셉트론을 만들어보면 좋을 것 같았죠. 특히 2개 이상의 레이어로만 구현 가능한 XOR 게이트를 만들어 보는 것이 좋을 것 같았죠. 그렇게 GateGenerator 클래스를 하나 만들고 그 안에 모든 것을 구현하려고 욱여넣다 보니 잘 풀리지 않았습니다. 정말 하루를 꼬박 새워서 머리를 싸매니까 미칠 것 같았습니다. 이렇게 간단한 신경망도 나 스스로 구현할 능력이 없다니! 무언가를 부정당한 느낌이었습니다. 다시 처음부터 차근차근 시작해 보기로 마음먹고 처음 생긴 목표는 "뉴런 하나라도 제대로 구현해 보자"였습니다. 그렇게 한 단계씩 발전..

파이썬(python) - 넘파이(numpy)(2) : shape 탐구하기

서론  저번 시간에는 numpy를 소개해 드리고 강력한 도구인 ndarray를 생성하는 방법에 대해서 포스팅했습니다. 이어서 우리가 생성한 배열 ndarray가 가지는 매우 매우 중요한 속성 shape에 대해서 탐구해 보도록 하겠습니다. 이해하기 쉽도록 시각 자료도 열심히 만들었으니까 공감 한 번씩 눌러주세요! 지난 글 : 파이썬(python) - 넘파이(numpy)(1) : 소개 및 행렬&벡터 생성하기 파이썬(python) - 넘파이(numpy)(1) : 소개 및 행렬&벡터 생성하기인사말  정말 오랜만에 글을 쓰네요! 야심 차게 시작했지만 블로그에 무언가를 기록한다는 게 정말 손이 많이 가더라구요. 그림 자료도 나름대로 이해하기 쉽도록 구상해서 만들고 맞춤법도dori3220.tistory.com  차원..

파이썬(python) - 넘파이(numpy)(1) : 소개 및 행렬&벡터 생성하기

인사말  정말 오랜만에 글을 쓰네요! 야심 차게 시작했지만 블로그에 무언가를 기록한다는 게 정말 손이 많이 가더라구요. 그림 자료도 나름대로 이해하기 쉽도록 구상해서 만들고 맞춤법도 검사하고 내용도 검토하고 등등! 그래도 공부하는 김에 글도 같이 쓰고 사람들과 공유하면 좋잖아요? 그래서 제가 스스로 만들고 싶은 작품을 만들면서 공부하게 된 여러 가지 지식들을 잘 정리해서 적어볼까 합니다. 무엇부터 시작할까 하다가 파이썬에 관한 정보는 이미 너무나도 많고 알고 계신 분들이 많을 거라고 생각해서~ 파이썬에서 가장 많이 사용되는 도구인 넘파이 패키지를 가지고 왔습니다! (numpy==2.2.0 기준으로 작성되었습니다.)  소개  넘파이를 배우러 오셨으니까 독자가 파이썬의 기본적인 문법이나 코드의 흐름을 이해하..

데이터 과학 공부하기 - 통계학 기초(확률 분포, 중심극한정리)

서론  데이터를 기술 통계를 통해 분석했다면 다음은 무엇을 해야할까요? 모집단을 추론하는 것이 뒤따라야 합니다. 왜냐하면 *모수와 *통계량 사이에는 불가피한 편향이 존재하기 때문입니다. 표본의 통계치만 맹신할 수 없으므로 우리가 분석한 표본이 얼마나 모수에 가까운지 추정할 필요가 있겠죠? 이것을 추론 통계라고 합니다. 그리고 이를 도와줄 강력한 도구가 바로 확률인 샘이죠.  *모수 : 모집단의 특징을 수치로 나타낸 값. (모집단의 평균, 분산 등)* 통계량 : 표본의 특징을 수치로 나타낸 값. (표본의 평균, 분산 등) 1. 데이터 과학 공부하기 - 통계학 기초(표본 추출)2. 데이터 과학 공부하기 - 통계학 기초(변수와 척도)3. 데이터 과학 공부하기 - 통계학 기초(기술 통계) 확률  간단히 용어들을..

데이터 과학 공부하기 - 통계학 기초(기술 통계)

서론 지금까지 데이터 과학의 일반적인 프로세스 중에서 데이터 수집, 데이터 가공에 필요한 통계학적 지식들을 공부했습니다. 데이터 수집 단계에서 배운 것은 "실제 환경에서는 전수조사를 하기 힘들기 때문에 표본조사를 하고, 표본을 추출하는 과정에서 편향이 생길 수 있으므로 주의하자."였습니다. 데이터 가공 단계에서 배운 것은 "변수에는 종류가 있고 관계가 있다. 그리고 척도를 통해 수치화 시킬 수 있다."였습니다.  이렇게 수집하고 가공한 데이터를 이제 분석할 차례인데요. 첫 번째 시간에 통계학의 큰 분류로 기술 통계와 추론 통계를 소개해드렸습니다. 기술 통계는 데이터를 잘 설명할 수 있는 지표를 뽑아내는 것이라고 했습니다. 이것을 탐색적 데이터 분석(EDA : Exploratory Data Analysis..

데이터 과학 공부하기 - 통계학 기초(변수와 척도)

서론 이전 시간에는 데이터 과학의 프로세스 중에서 데이터 수집에 해당하는 표본추출의 종류가 무엇이 있는지 알아보았습니다. 대부분의 분석이 전수조사를 할 수 없기 때문에 우리는 모집단에서 표본을 추출하여 표본의 통계량을 확인한 뒤, 모집단의 모수를 추정하는 방식을 사용한다고 했는데요. 오늘은 데이터 가공에 앞서 변수와 척도의 개념에 대해서 공부해 보도록 하겠습니다. 1 : 데이터 과학 공부하기 - 통계학 기초(표본 추출)  변수의 종류  데이터 과학은 변수와 변수의 관계를 밝혀내는 활동입니다. 그렇다면 변수란 무엇일까요? 변수는 말 그대로 값이 변하는 수라고 생각하면 됩니다. 상수와는 반대되는 개념으로 값이 변할 수 있는 성질을 가지고 있는 건데요. 변수도 여러 가지 종류가 존재합니다.  가감 승계(+, ..

데이터 과학 공부하기 - 통계학 기초(표본 추출)

인사말 안녕하세요! 첫 게시물로 데이터 과학에 대해서 공부한 것을 정리하려고 하는데요. 책 [데이터 분석가가 반드시 알아야 할 모든 것]으로 공부를 했기 때문에 많이 영향도 받고 참고도 했습니다.  데이터 과학을 배우는데 왜 통계학을 알아야 할까요? 데이터 과학은 기초 통계로부터 발전해 왔고 의미를 해석할 때 통계 이론에 기반합니다. 따라서 통계학의 기초에 대해서 알아야 데이터 과학의 결과를 보고 우리가 얻어내고자 하는 결론에 도달했는지, 잘못된 부분이 없는지, 있다면 어떻게 개선해야 하는지 알 수 있겠죠? 데이터에 대해서 다루는 데이터 과학을 제대로 이해하기 위해서 통계학에 대해서 공부해 보겠습니다.  서론일반적으로 데이터 과학의 전체적인 프로세스는 다음과 같이 진행된다고 합니다.통계학은 데이터 분석과..