해당 포스트는 대학 커뮤니티 게시글을 생성하는 AI 모델 UCK-GPT2를 소개합니다. INTRO 최근 AI기술은 실생활 다양한 곳에 적용되어 자연스럽게 활용되고 있습니다. 특히, 언어 관련 기술들은 가까이는 핸드폰의 시리, 빅스비에 적용되어 있고, 스마트 스피커에는 기가지니, 알렉사, 클로바, 카카오 등에 적용되어 사용되고 있습니다. 이러한 챗봇, AI 상담사 등의 서비스들은 기본적으로 고객의 질문을 이해하고, 준비된 답변 중 선택하여 출력하는 방식으로 처리가 되는데, 최근에는 준비된 답변이 아닌 질문에 맞게 언어를 생성하여 답변할 수 있는 기술이 공개 및 활용되고 있습니다. 아래 소개하는 UCK-GPT2는 언어 생성 모델 중 하나로, 대학 커뮤니티 글을 학습하여 언어를 생성이 가능한 한국어 언어 모델..
이 포스트는 한빛미디어에서 출간한 '혼자 공부하는 컴퓨터 구조+운영체제'을 읽고 작성한 서평입니다. INTRO 컴퓨터에 관심이 있으신 분이라면, 컴퓨터 구조 및 운영체제에 대한 자세한 내용은 몰라도 내 컴퓨터가 어느 정도 성능인지(CPU, RAM, HDD 등) 또는 내가 사용하고 있는 운영체제(OS)가 어떤거지(Windows, Linux, MacOS 등)에 대해서는 알고 계실겁니다. 이러한 정보들은 컴퓨터를 사용하는 분들에게는 기본으로 알고 있으면 좋은 정보들이며, 만약 IT 관련 업무를 하시는 분이라면 개인/협업을 위해 자세히 알아두는 것이 좋습니다. 해당 도서에서는 컴퓨터 구조 및 운영체제에 대해 알기쉽게 설명하고 있으며, '입문자 맞춤형 7단계 구성'을 통한 체계적인 설..
이 포스트는 제이펍에서 출간한 '쏙쏙 들어오는 함수형 코딩(Grokking Simplicity)'을 읽고 작성한 서평입니다. INTRO 혼자 공부를 하면서 가장 어려운 부분은 내가 작성한 코드의 객관적인 평가를 받는 부분입니다. 최근에는 개발자 커뮤니티나 github 같은 환경들을 이용해 일부 자신의 코드를 평가받고 개선하고 있으나, 내가 작성한 코드가 평가를 받기 위한 최소한의 자격은 갖췄는지 의구심은 쉽게 해결되지 않습니다. 해당 도서에서는 이런 분들을 위해 코드를 작성할 때 지켜야 하는 규칙들을 소개하고 있으며, 나아가 실제 프로그램 개발 및 협업을 위해 필요한 개념(분산 시스템, 추상화, 계층형 설계, 디자인 패턴 등)들을 자세히 설명하고 있습니다. 도서 소개 소프트웨어의 복잡성을 ..
해당 포스트는 R에서 최솟값을 찾아주는 사용자 함수를 작성하는 방법을 소개합니다. INTRO R은 오픈소스 기반의 언어로, 공개된 커뮤니티에서 다양한 패키지들이 생성 및 공유되고 있습니다. 지금 이순간에도 새로운 패키지들이 생성되고 있으며, 개인적으로 이러한 패키지들을 잘 찾고 활용하는 것도 하나의 필수 스킬이라고 생각합니다. 이번 포스트에서는 최솟값을 찾아주는 min() 함수를 사용하지 않고 벡터 내 최솟값을 찾아주는 사용자 함수를 생성하는 방법을 설명합니다. 사용자 함수 만들기 R 내장 함수인 min() 함수를 사용하지 않고 최솟값을 찾는 방법 중 하나는 정렬(sort)을 이용하는 것입니다. 입력받은 벡터를 오름차순(incresing sort)으로 정렬하고 첫번째 값을 추출하는 방법으로, R에서는 내..
해당 포스트에서는 'R에서 기존 변수로 조건에 맞는 새로운 변수를 생성 하는 방법' 에 대해 설명합니다. INTRO R에서 조건절을 사용한다면 가장 많이 사용되는 함수는 if(), ifelse() 입니다. 두 함수는 사용자가 원하는 조건에 따라 기존 변수를 변환 또는 생성해 주는데 조건이 3개 이상이 된다면 함수 사용에 불편함(e.g. 함수의 반복 사용으로 인식률 저하)이 발생합니다. 이런 경우를 위해 dplyr 패키지에서는 case_when() 함수를 제공하고 있고, 아래에서는 한 개 컬럼을 기준으로 적용할 때와 두 개 이상 컬럼을 기준으로 적용할 때를 나누어 예시 코드와 함께 사용 방법을 설명합니다. case_when 데이터에 기존에 있던 변수를 이용해 새로운 변수를 생성할 때에는 기본..
이 포스트는 제이펍에서 출간한 '파이썬 자동화 교과서'를 읽고 작성한 서평입니다. INTRO 파이썬(Python)이란 언어에 대한 이해가 어느정도 되고, 프로그래밍에 대한 이해 및 스킬이 조금씩 늘어가다보면 활용에 관심을 가지게 됩니다. 분석적인 측면의 활용성을 높이는 것이 일반적이겠지만 저와 같이 실용적인 활용성에 관심이 많으신 분들에게는 해당 도서가 많은 도움이 될 것 같습니다. 간단한 엑셀 자동화부터 웹 스크래핑, 메일 자동화, 앱 개발, 마우스/키보드 자동화까지 파이썬으로 할 수 있는 업무 자동화의 거의 모든 부분을 다루고 있으니 관심있는 분들은 해당 도서로 나만의 앱/코드를 개발하여 업무 효율성을 높여보셨으면 좋겠습니다. 책 소개 매일 지루하게 반복되는 작업, 이제 안녕 정시 퇴근..
해당 포스트에서는 데이터 처리 전문 패키지인 dplyr의 mutate 함수 활용에 대해 소개합니다. INTRO R에서 데이터 처리를 한다면 많은 분들이 dplyr 패키지를 먼저 설치하게 됩니다. 유용한 함수들이 많이 포함되어 있기도 하지만 tidyverse 생태계에 포함되어 있어 타 패키지들과의 호환성이 뛰어나다는 장점이 있습니다. 아래에서는 dplyr 패키지에서 제공되는 함수들 중 mutate() 계열의 함수들을 예제 코드와 함께 소개합니다. mutate()? dplyr 패키지에서 제공되는 mutate() 함수는 데이터 프레임(Data Frame)에 변수를 추가할 때 사용됩니다. mutate 계열 함수 mutate() : 기존 변수를 유지하면서 새로운 변수 추가 transmute() : 기존 변수는 제..
해당 포스트는 'R에서 버블 정렬(Bubble Sort)을 구현하는 방법'을 소개합니다.INTRO알고리즘(algorithms)을 배우기 시작하면 가장 먼저 접하는 것이 정렬 알고리즘(Sorting Algorithms) 종류입니다. 그 중에서도 버블 정렬(Bubble Sort)는 기초 단계로 구현이 간단하지만 정렬되지 않은 자료에 대해서는 성능이 좋지 않은 편에 속합니다.알고리즘 학습 입문자 분들에게 성능은 아직 고려할 사항이 아니니 이번 포스트에서는 알고리즘의 방식을 이해하고 실제 구현을 통해 이해를 높여보셨으면 좋겠습니다. 버블 정렬(Bubble Sort)?버블 정렬(Bubble Sort) 알고리즘은 입력 벡터의 이웃한 항목들이 원하는 순서가 아닐 때 그것들을 서로 교환함으로써 동작하는 정렬 방식으로,..
해당 포스트에서는 R 데이터 필터링 방법 중 하나인 '포함되지 않는(not in)' 데이터 추출 방법을 설명합니다. INTRO R에서 원하는 데이터를 추출하려면 특정 컬럼을 선택하거나 데이터 내 값의 조건을 적용하여 추출하면 됩니다. 해당 포스트에서는 후자의 경우인, 조건을 이용해 특정 값에 해당하는 데이터 필터링 방법에 대해 설명하며, '조건에 해당하지 않는' 데이터 추출 방법을 설명합니다. 원문 출처 : [R-bloggers] How to Use “not in” operator in Filter filter 함수 설명 아래에서는 dplyr 패키지에서 제공하는 filter() 함수를 이용하여 설명합니다. dplyr 패키지는 다양한 데이터 처리를 지원해주는 R 필수 패키지 중..
이 포스트는 한빛미디어에서 출간한 '파이썬을 활용한 베이지안 통계(2판)'을 읽고 작성한 서평입니다. INTRO 데이터 분석에 입문하려는 분들에게 첫번째 고민은 바로 언어의 선택일 것입니다. 대부분 R or Python 중에 선택을 하게 될 텐데, 검색을 해보면 통계적인 분석에는 R이 강하고, 머신러닝/딥러닝 등 활용성이 좋은 건 Python 이라고 안내하고 있어 많은 분들이 좀 더 범용적인 Python을 선택하시는 경우를 많이 봤습니다. 이전에는 위 설명이 틀린것은 아니었으나 최근에는 R과 Python이 서로의 경계를 허물고 상호 호환적인 언어로 발전하고 있으며, Python 자체로 다양한 통계 분석이 가능해졌고 부족한 부분은 R을 로드하여 패키지를 활용할 수 있습니다. 해당 도서에는 R..