전체 글 220

이미지를 이해하는 마법, 합성곱 신경망(CNN)

오늘은 인공지능 분야에서 이미지 처리의 핵심 역할을 하는 합성곱 신경망(CNN)에 대해 알아보려고 합니다. 1. 합성곱 신경망(CNN)이란 무엇인가요? 합성곱 신경망은 이미지 처리와 패턴 인식에 사용되는 강력한 딥러닝 알고리즘 중 하나입니다. 이는 주로 이미지의 특징을 추출하고 패턴을 학습하는 데 특화되어 있습니다. 2. 컨볼루션 레이어 CNN의 핵심은 컨볼루션 레이어입니다. 이 레이어는 작은 필터를 사용하여 입력 이미지를 스캔하면서 다양한 특징을 감지합니다. 예를 들어, 엣지, 색깔, 질감 등의 특징을 추출합니다. 컨볼루션에 대해서 좀 더 자세히 살펴보겠습니다. 2-1. 합성곱(컨볼루션)이란? 2-1-1. 이미지에서 특징 추출 ➢ 합성곱은 주로 이미지에서 특징을 추출하는 데 사용됩니다. 우선, 작은 필..

이론 2024.01.06

제태크 목표 세우기

뜬금없이 블로그에 제태크 목표를 올려보고자 합니다. 개인적으로 펀드나 주식 투자는 이전에도 계속 해왔지만, 무지성 매매 때문에 별 소득도 없이 원금 지키기에 바빠서 이렇다할 성과가 딱히 없네요. 그때는 나름대로 고민도 하고 공부도 했다고 생각했는데 그냥 나만의 착각이었던거 같다는 생각이 듭니다. 현재 가장 큰 목표는 수도권에 제가 살만한 아파트를 하나 마련하는 것입니다. 2년 후인 25년 12월 전까지 서울 가까운 쪽에 혼자 살기 적당한 아파트 한채를 사는게 목표입니다. 개인적으로 거리가 먼 목표라고 생각하지만, 목표를 높게 잡아야 실제로 달성하지 못했더라도 얻을 수 있는 것들이 있을거라고 생각합니다. 내년에는 열심히 살아서 내 가치를 더 키울 수 있는 한해를 만들어보고자 합니다.

일상 2023.12.19

[python] matplotlib 한글 폰트 적용하기

폰트 적용 코드 일반적으로 matplotlib 에서 한글 폰트를 적용하기 위해서 아래의 코드를 사용한다. import matplotlib.pyplot as plt # 폰트 파일 경로 font_path = '/Library/Fonts/YourFont.ttf' font_name = plt.matplotlib.font_manager.FontProperties(fname=font_path).get_name() plt.rcParams['font.family'] = font_name # rc('font', family=font_name) 만약 맥에 설치해둔 특정 OTF 폰트를 사용하고 싶으면 font_path 에 otf 폰트 파일 경로를 넣어준다. import matplotlib.pyplot as plt # 폰트 ..

[Python] 연습 2023.04.30

[python] 한국어 띄어쓰기 처리

한국어 문장을 처리할 때, 문장 내 띄어쓰기에도 주의해야한다. 띄어쓰기가 어디에 되어있는지에 따라 다른 의미로 해석될 가능성이 존재하기 때문이다. 아래의 예시를 보자. 1) 엄마가 회사 줬어 2) 엄마가 회 사줬어 두 문장의 의미가 띄어쓰기에 따라 완전히 달라진다는 것을 확인할 수 있다. 이렇기 때문에 텍스트 데이터를 분석할 때 띄어쓰기가 제대로 되어있도록 교정해주는 작업이 필요하다. PyKoSpacing 패키지 띄어쓰기가 되어있지 않은 문장을 띄어쓰기 처리를 해주는 패키지고 PyKoSpacing 이 있다. PyKoSpacing is based on Deep Learning model trained from large corpus(more than 100 million NEWS articles from ..

[Python] 연습 2022.11.13

[python] 리스트 형태의 값을 분리하여 각 하나의 값으로 표현하기

제목만 보면 어떤 말인지 이해하기 어려울 수 있으나, 아래의 예시 데이터처럼 값에 리스트가 들어가 있는 경우, 각 리스트 내 요소를 전개하여 따로 레코드를 생성해 주는 방법에 대한 것입니다. 이럴 때는 pandas 의 explode() 함수를 사용해주면 됩니다. ( pandas explode document 링크 ) 1. 예시 데이터 생성 import pandas as pd data = [[3, 1, ['가', '나', '다']], [4, 0, ['라', '마', '바']], [5, 1, ['아', '자', '차']]] col_names = ['x1', 'x2', 'x3'] df = pd.DataFrame(data=data, columns=col_names) df 2. explode 사용 'x3'에 리스..

[Python] 연습 2022.11.12

[python] json 파일 data frame 으로 읽기

1. 간단한 json 파일 [ { "id": "A001", "city": "Tokyo", "country": "Japan", }, { "id": "B012", "city": "Jerusalem", "country": "Isreal", }, { "id": "C123", "city": "Busan", "country": "South Korea", } ] 위와 같은 json 파일을 pandas 로 읽어오려면, 아래와 같이 코드를 작성할 수 있다. import pandas as pd df = pd.read_json('./data/simple.json') 2. json 파일 내부 요소를 불러오기 ( nest list 형태 ) 만약에 아래와 같은 구조를 보이는 json 파일이라면, 위에서처럼 단순히 read_jso..

[Python] 연습 2022.11.11

FNet으로 Text Classification 해보기

인공지능 팩토리 세미나 발표 by 김노은 Source: https://keras.io/examples/nlp/fnet_classification_with_keras_nlp/ https://aifactory.space/learning/detail/2187 https://towardsdatascience.com/googles-fnet-mixing-tokens-with-fourier-transforms-f98778168c45 Introduction FNet: Mixing Tokens w/ Fourier Transforms Fourier Transforms(FTs) 푸리에 변환은 한 신호(signal)을 수학적인 처리를 통해 진동수(frequency)의 성분으로 분해하는 것이다. 푸리에 변환을 통해 특정 시간 ..

이론 2022.11.03

[python] 프로그래머스 신고결과받기

def solution(id_list, report ,k): answer = [] # id_dict, reporter 생성 id_dict = dict() for user in id_list: id_dict[user] = 0 reporter = id_dict.copy() # report 중복 제거 report = set(report) # count reported times for case in report: id_dict[case.split(' ')[1]] += 1 print(id_dict) # id_dict는 각 회원이 신고받은 횟수 # count messages to reporter for case in report: if id_dict[case.split(' ')[1]] >= k: reporter[..

[Python] 연습 2022.10.29