본문 바로가기

전체 글330

[ 파이썬으로 만드는 OpenCV 프로젝트🔥] 4장. 이미지 프로세싱 기초 --- 본 포스팅은 데이콘 서포터즈 "데이크루 2기" 활동의 일환입니다 --- - 안녕하세요 데이콘 서포터즈 데이크루 2기 포스(POS)팀의 Rahites입니다 :) - POS팀은 Python OpenCV Study의 약자로 활동 기간동안 저희 팀은 '파이썬으로 만드는 OpenCV 프로젝트' 책을 가지고 OpenCV를 공부해보고 프로젝트를 진행할 것입니다. - 자세한 스터디 계획과 운영 방안은 아래의 포스팅에서 확인하실 수 있습니다. https://dacon.io/codeshare/4759?utm_source=dacrew&utm_medium=432727&utm_campaign=dacrew_2 [🔥포스🔥] 0편. OpenCV 예고장 dacon.io https://dacon.io/codeshare/4858?.. 2022. 4. 28.
[ 파이썬으로 만드는 OpenCV 프로젝트🔥] 2장. 기본 입출력 --- 본 포스팅은 데이콘 서포터즈 "데이크루 2기" 활동의 일환입니다 --- - 안녕하세요 데이콘 서포터즈 데이크루 2기 포스(POS)팀의 Rahites입니다 :) - POS팀은 Python OpenCV Study의 약자로 활동 기간동안 저희 팀은 '파이썬으로 만드는 OpenCV 프로젝트' 책을 가지고 OpenCV를 공부해보고 프로젝트를 진행할 것입니다. - 자세한 스터디 계획과 운영 방안은 아래의 포스팅에서 확인하실 수 있습니다. https://dacon.io/codeshare/4759?utm_source=dacrew&utm_medium=432727&utm_campaign=dacrew_2 [🔥포스🔥] 0편. OpenCV 예고장 dacon.io https://dacon.io/codeshare/4837?.. 2022. 4. 22.
[ 파이썬으로 만드는 OpenCV 프로젝트🔥] 3장. Numpy와 Matplotlib --- 본 포스팅은 데이콘 서포터즈 "데이크루 2기" 활동의 일환입니다 --- - 안녕하세요 데이콘 서포터즈 데이크루 2기 포스(POS)팀의 Rahites입니다 :) - POS팀은 Python OpenCV Study의 약자로 활동 기간동안 저희 팀은 '파이썬으로 만드는 OpenCV 프로젝트' 책을 가지고 OpenCV를 공부해보고 프로젝트를 진행할 것입니다. - 자세한 스터디 계획과 운영 방안은 아래의 포스팅에서 확인하실 수 있습니다. https://dacon.io/codeshare/4759?utm_source=dacrew&utm_medium=432727&utm_campaign=dacrew_2 [🔥포스🔥] 0편. OpenCV 예고장 dacon.io - 본격적으로 OpenCV를 공부하기 전에 '파이썬으로 만.. 2022. 4. 14.
[D&A Deep Session] 5차시 - 8. CNN 심화 # LeNet, AlexNet, VGG 1. LeNet : 1998년 개발된 CNN 알고리즘으로 LeNet-5가 가장 대표적인 모델이다. 이는 흑백 이미지에서 학습된 7 layer CNN으로 Input - Conv(C1) = Subsampling1(S2) - Conv(C3) - Subsampling(S4) - Conv(C5) - FC6 - FC7(output) 으로 구성된다. output size = (input size - filter size + (2 x Padding)) / stride + 1 Input size : ( 1, 32, 32 ) [ convolution, filter size : 5x5, filter 개수 : 6, stride : 1 ] C1 layer : (6, 28, 28) [ su.. 2022. 4. 12.
[Python] 웹 크롤링 ( Web Crawling ) ### 기본적인 Python을 활용한 웹 크롤링 ### * 정적 크롤링 ( 한 페이지 안에 원하는 정보가 모두 드러남 ) -- 필요한 패키지# 형태소 분석import nltk from konlpy.tag import Kkmafrom konlpy.tag import Okt# wordcloudimport matplotlib.pyplot as plt from wordcloud import WordCloudfrom wordcloud import STOPWORDS import numpy as npfrom PIL import Imagefrom wordcloud import ImageColorGenerator# web crawlingimport requestsfrom bs4 import BeautifulSoup # .. 2022. 4. 3.
[Python] WordCloud # wordcloud 아나콘다 설치: anaconda prompt 관리자권한으로 실행 -> conda install -c conda-forge wordcloud -- wordcloud 예제 1 ( 기본 사각형 ) import matplotlib.pyplot as pltfrom wordcloud import WordCloudfrom wordcloud import STOPWORDS # 불용어 처리text = open("텍스트 이름.txt").read()stopwords = set(STOPWORDS)stopwords.update(['추가할 불용어 입력'])wordcloud = WordCloud(max_font_size = , # 이미지 내의 최대 font 크기 max_words = , # 이미지 안.. 2022. 4. 3.
[D&A Deep Session] 4차시 - 7. CNN # CNN ( Convolutional Neural Nework, 합성곱 신경망 ) : 지역 정보를 학습시키기 위한 신경망 모형으로 완전연결 신경망과 달리 새롭게 Convolution Layer와 Pooling Layer를 사용한다. 또한 이미지의 Region Feature를 Convolution Layer와 Pooling Layer를 이용해 추출해 나온 Feature를 MLP의 input으로 사용하기 때문에 이미지 처리와 관련된 Vision분야에서 좋은 성능을 보인다. * 완전연결 계층의 단점 : 데이터의 형상이 무시된다!! ( 몇차원의 데이터이든 1차원으로 변환해 입력해주기 때문 ) * 기본 구조 Convolution Layer : 지역 정보를 뽑아내기 위한 층 Pooling Layer : Featu.. 2022. 4. 2.
[D&A Deep Session] 3차시 - 6. 정규화와 오버피팅 억제 # Internal Covariate Shift ( 내부 공변량 변화 ) : 학습 과정에서 계층 별로 입력 데이터의 분포가 달라 나타나는 문제로 학습 속도가 느려지며 Gradient Vanishing에 영향을 준다. 이를 극복하기 위해 정규화를 적용할 필요가 있다!! 정규화의 장점 : - 학습 속도 감소 - 오버피팅 억제 ( 드롭아웃 등의 필요성 감소 ) - 가중치 초기값에 대한 의존성감소 ( 하이퍼파라미터의 설정이 자유로움 ) 1. Batch Normalization ( 배치 정규화 ) : 학습시 미니배치 단위로 매 순간의 input을 N(0,1)로 정규화 장점 : - 오차 역전파법 시 파라미터의 크기에 영향을 받지 않아 학습률을 크게 잡을 수 있어 빠른 학습이 가능하다 - 자체 regularizati.. 2022. 3. 29.
[D&A Deep Session] 3차시 - 5. 최적화와 가중치 초기화 # 최적화란? : 가중치 매개변수의 최적값을 탐색하는 방법 ( 경사 하강법의 단점을 보완 ) - 경사 하강법의 단점 1. 학습할 때마다 모든 데이터 셋을 활용하기 때문에 학습이 오래걸리며 메모리 문제가 발생할 가능성이 높다. 2. 적절한 학습률을 찾기 어렵다 ( 너무 작으면 시간이 오래걸리고, 너무 클 경우에는 최솟값 계산이 어렵고 loss 값이 커지는 방향으로 진행된다 ) 3. 최종 목적인 Global minimum을 찾지 못하고, Local minimum에 갇힐 수 있다. 이러한 경사 하강법의 단점을 보완하여 '확률적 경사 하강법 (Stochastic Gradient Descent)'이 등장하였다. : 모든 데이터 셋 활용 -> 랜덤하게 추출한 일부 데이터만을 사용 ( 잦은 업데이트를 통한 빠른 최적.. 2022. 3. 29.
[D&A Deep Session] 2차시 - 4. 오차 역전파법 # MLP ( Multi Layered Perceptron )에 대한 공부 후... - 비선형 분류가 가능하다! - 신경망에서는 데이터가 입력된 입력층에서 시작해 은닉층을 거쳐 출력층에서 출력 값이 도출되는 Feed Forward (순전파) 방식을 취한다. - 비용함수를 정의해서 네트워크가 얼마나 나쁜지 판단 -> Cost를 어떻게 줄여 네트워크를 향상시킬 수 있을지 알아야 한다. *다음과 같은 신경망 구조를 가정하고 설명!!* 1. 비용함수 = MSE 2. 각 뉴런의 노드와 출력값은 0 ~ 1 사이의 값 ( 확률같이 ) 3. 효율적인 학습법인 경사 하강법을 어떻게 적용할지 생각하는 것이 목표!! 4. 16 x 8 x 4 신경망 가정 ( 순서대로 입력층, 은닉층, 출력층 ) 이 때 각각의 가중치를 연결의.. 2022. 3. 21.
[D&A Deep Session] 2차시 - 3. 퍼셉트론 # 인공 신경망 입력층 : 입력된 데이터 은닉층 : 입력층과 출력층 사이에 추가된 밀집층 ( 밀집층 : 픽셀과 뉴런이 연결되어 빽빽한 모습의 층 ) 출력층 : 신경망의 최종 값을 출력 - 각각에 입력층에 각기 다른 가중치로 계산되어 다음 은닉층으로 이동 -> 이 때 절편값인 b도 더해진다. - 인공 신경망에서는 출력층에서 계산되는 z값을 계산하는 단위를 뉴런이라고 부른다. ( 최근에는 유닛이라고 부름 ) - 양쪽의 뉴런이 모두 연결되어 있기 때문에 완전 연결층이라고도 부른다. - 출력층에 적용하는 활성화 함수(뉴런에서 출력값을 변경시키는 함수)는 종류가 제한되어 있고 이진 분류일 경우 시그모이드 함수, 다중 분류일 경우 소프트맥스 함수를 사용한다. - 은닉층의 활성화 함수는 비교적 자유롭다. ( ex. .. 2022. 3. 21.
[D&A Deep Session] 1차시 - 2. Class & Tensor 1. 클래스 : 똑같은 무언가를 만들어내는 설계 도면 객체 : 클래스로 만든 피조물로 객체마다 고유한 성격을 지닌다 인스턴스 : 클래스가 지시한대로 만든 값, 특정 객체가 어떤 클래스의 객체인지 관계 위주로 설명할 때 사용한다 메소드 : 클래스 안에 구현된 함수로 메소드의 첫 번째 매개변수(parameter)에는 호출한 객체가 자동으로 전달된다 객체 변수 : 객체에 생성되는 객체만의 변수를 의미하며 다른 객체들의 영향을 받지 않는다 생성자 : 객체가 생성되는 시점에 자동으로 호출되는 메소드를 의미한다, __init__이라고 설정하면 생성자로 인식한다 * 상속 : 클래스를 만들 때 다른 클래스의 기능을 물려받을 수 있게 만드는 것 ( class 클래스명(부모클래스) 로 생성 ) - super() : 부모 .. 2022. 3. 14.