lifeofkwon의 등록된 링크

키자드에 등록된 총 253개의 포스트를 확인하실 수 있습니다.

Naver Blog

[일상] 오펜하이머 감상 후기

금요일 심야 영화로 오펜하이머를 보고 왔다. 요즘 너무 바빠서 진짜 볼 시간이 없었는데 볼 수 있어서 너무 좋았다. 난 이 영화가 개봉하기 전부터 기대감을 가지고 있었고 관련 영상을 진짜 많이 봤다. 오펜하이머 보기 전 보면 좋은 영상 https://www.youtube.com/watch?v=aAthViBWpC4&t=163s https://www.youtube.com/watch?v=tFtcOVIQMlQ https://www.youtube.com/watch?v=MiM1nJTdSGE&t=536s 난 해당 영상들로 진짜 오펜하이머에 대한 기대를 높였다. 오펜하이머 감상 후기 진짜 재밌게 봤다. 특히 오펜하이머의 감정 묘사와 배우의 연기가 진짜 대박이었다. 단순히 오펜하이머의 행실에 관해서 말하려는게 아닌 왜 그런 선택을 하게 되었는지부터 모든걸 고민하게 만드는 영화다. 솔직히 나는 위 영상들을 보고서는 오펜하이머가 연구만 하는 그런 학자라고 생각했지만, 오펜하이머는 그런 부류의 사람이 아

Naver Blog

백준 B17836-공주님을 구해라! with Python

문제 17836번: 공주님을 구해라! 문제 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 ( N , M ) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 무기로는 마법 벽을 통과할 수 없으며, 마법 벽을 피해 ( N , M ) 위치에 있는 공주님을 구출해야만 한다. 마왕은 용사를 괴롭히기 위해 공주에게 저주를 걸었다. 저주에 걸린 공주는 T 시간 이내로 용사를 만나지 못한다면 영원히 돌로 변하게 된다. 공주님을 구출하고 프러포즈 하고 싶은 용사는 반드시 T 시간 내에 공주님... www.acmicpc.net 풀이 처음부터 완벽하다고 판단한 코드를 작성했는데 속도를 줄이려다가 오히려 계속 틀린 문제다. 이유는 최댓값을 float('INF')가 아닌 N*M으로 설정했다. 왜냐하면 이동 시간이 전체 칸수를 넘을 수 없다고 판단했기 때문이다. 실제로 int와 float을 비교하는 시간이 int끼리

Naver Blog

백준 B14891-톱니바퀴 with 파이썬

문제 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다. 톱니바퀴를 회전시키려면, 회전시킬 톱니바퀴와 회전시킬 방향을 결정해야 한다. 톱니바퀴가 회전할 때,... www.acmicpc.net 풀이 단순 구현 문제다. 삼성 코테 기출 문제였는데 생각보다 문제 난이도는 높지 않았다. 문제에서 설명해준대로 이해하고 구현했다면 크게 어려움은 없는 문제다. 사람마다 풀이 방식은 다르지만 다른 톱니바퀴를 확인하는 부분을 일반화한다면 좀 더 간결한 코드를 작성할 수 있을 것 같다. 코드 imp

Naver Blog

백준 B1941-소문난칠공주 with 파이썬

문제 1941번: 소문난 칠공주 문제 총 25명의 여학생들로 이루어진 여학생반은 5×5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작했다. 곧 모든 여학생이 ‘이다솜파’와 ‘임도연파’의 두 파로 갈라지게 되었으며, 얼마 지나지 않아 ‘임도연파’가 세력을 확장시키며 ‘이다솜파’를 위협하기 시작했다. 위기의식을 느낀 ‘이다솜파’의 학생들은 과감히 현재의 체제를 포기하고, ‘소문난 칠공주’를 결성하는 것이 유일한 생존 수단임을 깨달았다. ‘소문난 칠공주’는 다음과 같은 규칙을 만... www.acmicpc.net 풀이 이 문제는 다양한 접근 방식이 있었다. 나 같은 경우는 모든 25개의 자리를 조회하는 방식으로 접근했다. 조회하는 과정에서 방문 처리 및 인접 여부를 확인하는 방식으로 문제를 풀어나갔다. 제일 기본적인 문제 풀이 방식은 25개의 좌석에서 7개를 뽑는 조합을 만들고 해당 조합이 조건을

Naver Blog

백준 B2573-빙산 with Python

문제 2573번: 빙산 문제 지구 온난화로 인하여 북극의 빙산이 녹고 있다. 빙산을 그림 1과 같이 2차원 배열에 표시한다고 하자. 빙산의 각 부분별 높이 정보는 배열의 각 칸에 양의 정수로 저장된다. 빙산 이외의 바다에 해당되는 칸에는 0이 저장된다. 그림 1에서 빈칸은 모두 0으로 채워져 있다고 생각한다. 2 4 5 3 3 2 5 2 7 6 2 4 그림 1. 행의 개수가 5이고 열의 개수가 7인 2차원 배열에 저장된 빙산의 높이 정보 빙산의 높이는 바닷물에 많이 접해있는 부분에서 더 빨리 줄어들기 때문에, 배열에서 빙산의 각 부분에 해당되는 칸에 있는... www.acmicpc.net 풀이 이 문제도 BFS 유형의 문제이다. 그러나 단순히 BFS만 진행하는 것이 아니라 문제에서도 말한 것처럼 주변 바다를 세면서 같이 진행해야한다. 이 포인트를 잘 캐치하면 문제 풀이가 용이하다. 코드 import sys from collections import deque input = sys.s

Naver Blog

백준 B4179-불! with Python

문제 4179번: 불! 문제 지훈이는 미로에서 일을 한다. 지훈이를 미로에서 탈출하도록 도와주자! 미로에서의 지훈이의 위치와 불이 붙은 위치를 감안해서 지훈이가 불에 타기전에 탈출할 수 있는지의 여부, 그리고 얼마나 빨리 탈출할 수 있는지를 결정해야한다. 지훈이와 불은 매 분마다 한칸씩 수평또는 수직으로(비스듬하게 이동하지 않는다) 이동한다. 불은 각 지점에서 네 방향으로 확산된다. 지훈이는 미로의 가장자리에 접한 공간에서 탈출할 수 있다. 지훈이와 불은 벽이 있는 공간은 통과하지 못한다. 입력 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주... www.acmicpc.net 풀이 비교하자면 탈출이라는 문제와 비슷하다. 그러나 도착 지점이 가장자리 아무 곳이 가능하다는 점이 이 문제의 다른 점이라고 할 수 있다. 코드 import sys from collections import deque input = sys.stdin.readline ### 입력 받기 R, C = ma

Naver Blog

백준 B12581-숨바꼭질2 with Python

문제 12851번: 숨바꼭질 2 12851번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 강의 질문 게시판 숨바꼭질 2 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 512 MB 45068 12647 8772 25.638% 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2... www.acmicpc.net 풀이 처음에는 진짜 쉽게 봤는데 같은 길이지만 다른 방법으로 갈 수도 있다는 점을 캐치하지 못해서 큰 어려움을 겪었다. 테스트 케이스로 1 2 4를 생각해보면 1에서 2를 가는 방법이 +1과 *2가 있다는 걸 알 수 있다. 내가 놓치고 있는 Edge Case를 잘 파악하고 문제 한줄한줄 잘

Naver Blog

백준 B7569-토마토 with Python

문제 7569번: 토마토 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마... www.acmicpc.net 풀이 단순한 bfs 문제지만, 3차원으로 진행한다는 점이 포인트다. 단순히 문제 적혀있는대로 구현하면 특별히 문제가 없는 문제다. 코드 import sys from collections import deque M, N, H = map(int, input().rstrip().split()) q =

Naver Blog

백준 B16235-나무 재테크 with Python

문제 16235번: 나무 재테크 문제 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 떨어진 칸의 개수, c는 가장 왼쪽으로부터 떨어진 칸의 개수이다. r과 c는 1부터 시작한다. 상도는 전자통신공학과 출신답게 땅의 양분을 조사하는 로봇 S2D2를 만들었다. S2D2는 1×1 크기의 칸에 들어있는 양분을 조사해 상도에게 전송하고, 모든 칸에 대해서 조사를 한다. 가장 처음에 양분은 모든 칸에 5만큼 들어있다.... www.acmicpc.net 풀이 이 문제는 삼성코딩테스트 기출문제다. 같이 푼 사람들과 이야기를 나눠봤을 때 오히려 빠르게 구현하기 위해 heapq를 사용한 경우들이 있는데 오히려 시간이 더 많이 잡아먹힌다고 한다. 나도 이 문제를 제외하고 다른 문제들에서 heapq를 사용하는데 오히려 더 큰 시간을 소모할 때가 많

Naver Blog

백준 B3055-탈출 with Python

문제 3055번: 탈출 문제 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제일 친한 친구인 비버의 굴로 가능한 빨리 도망가 홍수를 피하려고 한다. 티떱숲의 지도는 R행 C열로 이루어져 있다. 비어있는 곳은 '.'로 표시되어 있고, 물이 차있는 지역은 '*', 돌은 'X'로 표시되어 있다. 비버의 굴은 'D'로, 고슴도치의 위치는 'S'로 나타내어져 있다. 매 분마다 고슴도치는 현재 있는 칸과 인접한 네 칸 중 하나로 ... www.acmicpc.net 풀이 BFS 유형이다. 그러나 다른 문제와는 다르게 물과 고슴도치의 이동에 대해 두 방향으로 같이 생각해줘야하는 문제이다. 이 포인트를 잘 캐치하면 쉽게 풀이 가능하다. 코드 import sys from collections import deque input = sys.stdin.readline #

Naver Blog

BaekJoon B1726 로봇 with Python

문제 1726번: 로봇 문제 많은 공장에서 로봇이 이용되고 있다. 우리 월드 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며, 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 다음과 같이 두 가지이다. 명령 1. Go k: k는 1, 2 또는 3일 수 있다. 현재 향하고 있는 방향으로 k칸 만큼 움직인다. 명령 2. Turn dir: dir은 left 또는 right 이며, 각각 왼쪽 또는 오른쪽으로 90 회전한다. 공장 내 궤도가 설치되어 있는 상태가 아래와 같이 0과 1로 이루어진 직사각형 모양으로 로봇에게... www.acmicpc.net 풀이과정 및 포인트 bfs로 풀면 되는데 거리가 중요한 것이 아니라 동작 횟수가 메인이 된다는 점을 중점으로 둬야함. 기존 BFS 처럼 몇 칸 가고 그거를 따지는 것이 아니라 동작 한번 할 때 갈 수 있는 경우의 수를 다 따진다. 주의할 점으로는 1~3칸을 갈 때 1칸을 간 곳이 방문했다고 2칸이랑

Naver Blog

JUNGOL 1813 - 종교 with Python

대표적인 Union-Find 문제다. UnionFind 관련해서는 해당 사이트가 진짜 잘 설명해준 것 같다. 물론 파이썬은 아니지만 알고리즘만 이해한다면 구현은 어렵지 않아서 이 사이트를 읽고 풀어보는걸 추천한다. Disjoint-Set & Union-Find Disjoint-Set, 상호 배타적 집합 서로 중복되지 않는 부분 집합들을 의미 (교집합 존재 X) Union-Find Disjoint-Set을 표현할 때 사용하는 알고리즘. ex) 여러 노드가 존재할 때, 두 개의 노드를 선택해서 두 노드가 서로 같은 그래프에 속하는지 판단하는 그래프 알고리즘. 이름 그대로 union 연산과 find 연산이 존재 union(a, b) : a와 b가 포함되어 있는 집합을 합치는 연산 find(x) : x가 어떤 집합에 포함되어 있는지 찾는 연산 시뮬레이션 모든 노드(정점)은 자기 자신을... zoosso.tistory.com import sys input = sys.stdin.readl

Naver Blog

[생각] 카네기 인간관계론을 읽고

요즘 백수 생활이 길어지면서 할게 너무 없다. 원래는 해외 여행을 계획하고 있었으나, 예상치 못한 채용 검진에서의 재검으로 해외여행 계획이 무너졌고, 아직도 정확한 일정이 발표되지 않아서 따로 일정을 잡지 못했다. 게임을 하는 것도 계속 하면 지루하고 재미가 없어져서 그동안 읽지 못했던 책들을 읽기 시작했다. 우선은 소설을 좋아하기에 베스트셀러 중 선정해 한 권을 읽어봤다. 오랜만에 종이 책을 읽어서 집중력이 바쳐주지를 않았다. 다음에는 헌책방에서 읽고 싶은 책들을 몇 권 샀고 이번에는 읽은 책 중 "카네기 인간관계론" 이라는 책을 간단하게 필기해보려고 한다. 사람을 대하는 기본 원칙 사람을 대하는 기본 원칙 1 "사람들을 비판하고 비난하고 불평하지 말라 (Don't criticize, condemn and complain)" 우리는 비판이 쓸데없는 짓이라는 것을 알아야한다. 인간의 본성은 잘못을 저질러 놓고도 남만 탓할 뿐 자신의 잘못는 절대로 인정하려고 들지 않는 존재가 인간이다

Naver Blog

[공유] 유튜브 추천 (내 취준을 함께한 Tech 유튜브)

다음주부터 출근(?) 아닌 교육이 시작된다. 몰랐는데 생각보다 지원금도 많이 준다고 해서 기대 중이다. 한동안 블로그 글은 안 적을 것 같아서 마지막으로 적어보려고 한다. New Tech 글을 적을 때, 그런 정보는 어디서 구하는지도 같이 공유하면 좋겠다는 생각이 들었다. 또한 친구의 블로그에서 괜찮은 유튜버들을 추천하는 글을 읽게 되었고 나도 취준할 때 개발이나 데이터 쪽으로 많은 도움이 된 유튜브 채널을 공유하면 좋겠다라고 판단했고 이 글을 쓰게 되었다. 조코딩 Jocoding https://www.youtube.com/@jocoding 조코딩 JoCoding 누구나 배울 수 있는 쉬운 코딩 채널을 만들어가는 조코딩입니다. 프로그래밍에 대해 아무것도 모르더라도 개발이 가능하도록 기초부터 차근차근 쉽게 설명해드립니다. 또한, 단순히 코딩 지식을 배우는 것을 넘어서 웹, 앱, 게임 같은 결과물을 만들고 비즈니스 모델을 만들어 수익화 하거나 주식/코인 투자 자동화, 업무 자동화를 하는

Naver Blog

[공유] 생성 AI 목록 리스트 (출처: Youtube)

최근에 생성 AI가 끊임없이 나오고 있다. 목적에 따라 사용할 수 있는 AI가 다양해지는만큼 간단하게 리스트를 만들어보려고 한다. 해당 링크들의 출처는 해당 유튜브 채널에서 가져왔다. https://www.youtube.com/watch?v=-c4w-CAukSk 자세한 내용은 해당 영상을 참고하면 좋을 것 같다. https://www.midjourney.com/ 이 생성 AI는 독자적인 모델을 갖추고 있다. 간단하고 명확한 프롬프트를 사용해 괜찮은 이미지를 원활하게 생성할 수 있다고 한다. https://firefly.adobe.com/generate/images Adobe Firefly (Beta) firefly.adobe.com Adobe에서 개발한 이 AI 모델은 Adobe Stock과 공공 도메인 소스의 이미지로 훈련되었다고 한다. 만화 같은 이미지와 사실적 이미지 생성을 위한 옵션을 제공한다. https://clipdrop.co/stable-diffusion ClipDrop

Naver Blog

[일상] 명탐정 코난 : 흑철의 어영 알면 좋은 포인트

이번주에 바쁜 일정에도 꼭 보고 싶은 영화가 있어서 보고 왔다. 나는 애니메이션을 진짜 좋아하는데 특히 내 최애 애니를 말하자면 명탐정 코난이다. 본가에는 몇 십권의 만화책이 있고 어릴 때부터 매년 극장판을 봐왔다. 당연히 다른 영화들처럼 수요일에 개봉할 줄 알고 수요일 일정을 비워놨으나 알고보니 목요일 개봉이어서 쉽지 않았다. 벌써 26번째 극장판으로 이번 극장판은 검은 조직이 나오기 때문에 더 재밌는 극장판이었다. 생각보다 자리가 없어서 애먹었다. https://youtu.be/Go2aVkgQ9V8 내가 예매할 때도 예매율이 1위였다. 잠깐이었겠지만, 우리 톰 형님의 미션임파서블을 제치고 1위를 했다고 한다. 아마도 이유는.... 명탐정 코난의 팬이라면 알겠지만 극장판만큼은 추리물이 아닌 액션물이기 때문이다. 톰형도 못하는 액션을 코난은 해낼 수가 있어서 보는건 아닐까 싶다. 메인 내용은 스포가 될 수 있기 때문에 언급은 안하려고 하지만 보고 나서 진짜 이번 극장판은 코난에 대한

Naver Blog

[면접 후기] 삼성 SDS SCSA 최종 합격 후기

23년도 상반기 삼성 SDS SCSA에 최종 합격하게 되었다. 작년 하반기에는 오픽이 없어서 넣지 못했던 삼성을 이번에는 한번 넣어보자고 생각했다. 삼성 채용 사이트에서 아무리 살펴봐도 나랑 잘 맞는 직무는 없다고 판단되었고 그냥 쓰지 말까라는 생각을 하다가 친구가 SCSA를 추천해줬다. SCSA 설명을 읽어보니 나와 궁합이 꽤 좋다고 판단하였고 해당 공고를 지원하기로 결정했다. 자기소개서 여러 기업을 지원해봤지만 진짜 삼성만큼 지원하기 빡센 기업은 없었던 것 같다. 자기소개서의 난이도가 빡세다기보다는 지원하려고 적는 정보에 적어야할 사항이 너무 많았다. 내 과목 성적을 일일이 다 기입해야하는게 너무 힘들었다. 특히 나 같은 경우는 해외대이고, 점수 산정 방식이 A, B, C 이런 느낌이 아니라 점수제였기 때문에 따로 엑셀을 만들어 점수 변환을 진행해서 작성하였다. 자기소개서 같은 경우는 다른 기업들 지원할 때와는 좀 다르게 작성했던 것 같다. 관련 후기를 찾아보니 왜 SCSA를 지

Naver Blog

포스텍 인공지능연구원 인턴 일지 - 7&8주차 / 후기

Day1 월요일은 한 주의 시작이지만, 나에게는 인턴의 끝을 알렸다. 저번주 만든 모델의 성능 개선을 위해 여러가지 값들을 조정하고 오후에는 노래를 들으면서 열심히 이미지 라벨링을 진행하였다. 12시인가 1시쯤 같이 삼성을 지원했던 인턴형이 공고 사이트가 변경되었다고 말을 해줬고, 두근두근한 마음으로 라벨링을 진행하고 있었다. 그래서 LG CNS는 잊고 있었는데 잠깐 폰으로 카톡하려고 본 사이에 결과가 나와있었다. 우선 CNS의 합격 통보를 받고 즐거운 마음으로 라벨링을 진행하고 있었는데 삼성도 발표가 났다. 아주 즐거운 마음으로 퇴사를 말씀드렸다. Day2~4 예비군을 다녀왔다. 진짜로 너무 지루했고 예전에는 핸드폰 없이 어떻게 예비군을 했는지 이해 못할 정도로 너무 지루해서 힘들었다. Day5 금요일은 인턴들을 제외한 모두가 체육대회로 자리에 계시지 않았다. 그래서 그냥 프리하게 라벨링을 좀 진행했지만 나는 다음주 월요일에 건강검진이 잡혀있었기 때문에 추가근무를 진행해야만 했다.

Naver Blog

[NEW] MusicGen - Meta (텍스트 기반 음성생성 AI)

메타에서 텍스트를 기반으로 음악을 만드는 인공지능을 발표했다. 나온지는 꽤 됐는데 요즘 공부가 딱히 땡기지 않아서 놀던 중, 트렌드는 파악해야겠다는 생각이 들어서 적어보려고 한다. 허깅페이스 :https://huggingface.co/spaces/facebook/MusicGen MusicGen - a Hugging Face Space by facebook Spaces: facebook / MusicGen like 1.64k Running on a10g App Files Community 30 huggingface.co 깃허브 : https://github.com/facebookresearch/audiocraft GitHub - facebookresearch/audiocraft: Audiocraft is a library for audio processing and generation with deep learning. It features the state-of-the-art EnC

Naver Blog

포스텍 인공지능연구원 인턴 일지 - 6주차

Day 1 오늘은 2명의 인턴이 우리를 배신하고 새로운 연구팀으로 이동했다. 근데 처음부터 나랑은 같은 사무실이 아니어서 딱히 빈자리가 느껴지는 느낌은 아니다. 오늘은 사수 연구원분께서 마무리해줬으면 좋겠다는 부분들을 이 악물고 끝냈다. 오늘은 기술의 벽을 좀 느낀 날이다. 여러 코드를 찾아보고 직접 실행해보는데... 오늘은 Cuda Out of memory만 10번 만났다. 아카데미의 악몽이 떠오르기 시작했고 너무 하기 싫다라는 생각이 들어서 잠깐 도피했다. 다른 인턴들의 코드에서 오류가 난걸 같이 해결하면서 힐링 좀 하다가 내껄 다시 하러왔다. 역시 머리가 안 돌아갈 때는 잠깐 다른걸 하는 것도 좋은 것 같다. 돌아오니깐 머리가 리셋이 돼서 그런지 코드 작성이 잘 되었고 결국 부탁하신 일을 마무리할 수 있었다. 그리고 배교수님께 직접 연락해서 같이 저녁을 먹자고 연락드렸다. 배교수님과의 카톡은 처음인데 무슨 일 있냐고 여쭤보셨다..... 평소에 인사하러는 자주 갔지만 개인적인 연

Naver Blog

[면접 후기] LG CNS ERP 면접 합격 후기

일단 난 작년 하반기에 LG CNS DATA 직무를 지원했고 최종 면접에서 떨어졌다. 그 후, 계속 데이터 직무가 있는지 봤지만 그 공채 이후로는 DATA 직무에서 학사를 뽑지 않았다... 아카데미를 다니면서 자소서 공장처럼 자소서를 작성하고 있을 때 CNS 공고가 눈에 들어왔고 DX와 ERP 직무를 뽑는게 보였다. 솔직히 DX는 아니라고 생각해 일단 ERP에 지원했다. 자기소개서 & 코딩테스트 CNS 자기소개서는 항상 쓸 때마다 느끼는 거지만 이 두 문제로 뭘 판단하려고 하는 것일까라는 생각이 드는 자기소개서이다. 그러면서 두 개의 질문에 항상 포인트를 잘 담아야겠다고 생각하게 된다. 나는 이 날 다른 자기소개서를 더 위주로 작성하고 있었기 때문에 CNS는 작년 하반기 자기소개서에 좀 더 ERP 위주로 내 경험을 정리했다. ERP에 대한 이해도가 적어 업무 자동화 경험을 위주로 적었고 프로세스를 개선했던 경험을 위주로 적었다. 자기소개서 결과는 빨리 나왔던 걸로 기억한다. 자기소개

Naver Blog

[자격증] SQLD 자격증 후기

포스코 빅데이터 아카데미 기간동안 부족한 스펙을 채우고자 자격증 시험을 쳤었다. 빅데이터 분석기사와 SQLD 자격증을 준비했었고 현재 빅데이터 분석기사는 필기 합격을, SQLD는 최종 합격을 했다. 우선, SQLD에 대해서 간단한게 말하자면 다음과 같다. SQLD (SQL Developer) 자격증은 데이터베이스 개발자를 대상으로 한 자격증이다. 이 자격증은 데이터베이스 설계, 저장, 검색, 관리 및 보안을 위한 기술과 개발 도구를 이해하고 사용할 수 있는 능력을 검증한다. SQLD 자격증은 SQL 프로그래밍 기술을 비롯한 데이터베이스 기술을 전반적으로 이해하고 있다는 것을 입증할 수 있으며, 데이터베이스 관리, 유지보수, 최적화 등의 다양한 업무를 수행할 때 필요한 능력을 갖추고 있다는 것을 인정받을 수 있는 자격증이라고 한다 (by ChatGPT) 개인적인 경험으로는 데이터 분석 관련 직무에 넣을 때 제일 많이 보이는 자격증 중 하나다. ADsP, 빅데이터분석기사 그리고 SQLD

Naver Blog

[project] 음식명 기반 카테고리 분류 모델

음식명 기반으로 상세 분류를 진행해주는 카테고리 분류 모델을 만들어보려고 한다. 항상 나는 개인적으로 꿀을 빠는걸 좋아하기 때문에 관련 모델이나 자료가 있는지 열심히 찾아보았다. 그러나.... 영화, 쇼핑 상품 등의 카테고리는 관련 논문도 있고 기업 사례가 다양했지만 음식 자체 관련해서는 자료를 찾아볼 수 없었다. 결국은 난 스스로 직접 자연어처리를 하고 다중 클래스 분류 모델을 만들자고 계획했다. 내가 사용한 데이터는 통합식품영양성분 DB로 AI HUB에서 제공하는 데이터와 따로 제공 받은 데이터를 통합한 데이터였다. AI HUB 데이터를 보면 컬럼에 DB군이 있는데 거기서 음식인 데이터들만 통합해서 진행했다. 우선은 여러 우여곡절이 있었고 결국은 엄청난 성능을 뽑아냈다. 내가 최종적으로 사용하게 된 모델은 KOBERT 기반의 모델로 솔직히 내가 크게 고친 부분은 없고 간단한 데이터 전처리를 진행했다. 이번 게시글에서는 해당 코드를 설명해보려고 한다. KoBERT를 사용할 때 제일

Naver Blog

[면접 후기] 신한은행 디지털 면접 후기

신한은행 디지털에서 디지털 신사업 기획이라는 직무에 지원했고 관련 후기를 작성해보려고 한다. 신한은행 서류 전형 신한은행의 서류는 진짜 쉽지 않다. 문항은 5개이고, 한 문항당 글자수도 너무 많았다. 1. 본인의 '주요 성장과정' 및 다른 지원자 대비 본인만의 '차별화된 강점'과 '보완해야 할 약점'에 대해 사례를 들어 구체적으로 기술해 주세요. (최대 1,000자 입력가능) 해당 문항은 많은 기업에서 요구하는 자소서 문항으로서 거의 신한은행의 인재상에 맞게 좀 고쳐서 적었다. 크게 내 장점과 단점을 적었다. 장점은 내 경험을 바탕으로 약 800글자를 적고 200글자는 단점에 대해서 적었다. 단점을 크게 적었다기보다는 어떤 부분이 단점이고 그걸 보완하기 위해 뭘 하는지를 주로 적은 것 같다. 2. 본인이 지원한 분야에 대한 내용을 아래 항목별로 작성해 주세요. 2-1 신한은행에 지원한 동기와 희망하는 직무분야가 무엇인지, 해당 분야에 지원하는 이유를 구체적으로 작성해 주세요. (최대

Naver Blog

[NEW] Kullm(구름) - 한국어 LLM 소개 및 체험

이번에 새로운 한국어 LLM이 나왔다. 바로 Kullm이라는 모델로 구름이라 읽는다. KULLM(구름)은 고려대와 HIAI 연구소가 개발한 한국어 LLM이다. LLM 이란, Large Language Model을 의미한다. 해당 모델은 Backbone Model로 Polyglot-ko을 사용하여 학습을 진행했다고 한다. 깃허브 링크 : https://github.com/nlpai-lab/KULLM/tree/master 허깅페이스 링크 : https://huggingface.co/nlpai-lab/kullm-polyglot-12.8b-v2/blob/main/README.md 자세한 설명은 해당 사이트에서 볼 수 있고, 해당 모델을 사용한 예제는 다음과 같다. 출처 : https://github.com/nlpai-lab/KULLM/tree/master 사용방법으로는 다음과 같다. import torch from transformers import AutoModelForCausalLM,

Naver Blog

포스텍 인공지능연구원 인턴 일지 - 3-5주차

최근 3주는 너무 바쁘게 지내서 일지를 주차별로 적을 시간이 없었다. 물론 변명일 수도 있지만, 솔직히 포항에서 지내면서 큰 일이 없어서 적을게 없기도 하다. 3주차 Kobert 기반으로 데이터를 분류하는 모델을 만들었다. 근데 생각보다 성능이 좋았다. 뭔가 그래도 내가 직접 만들고 내가 생각해낸 아이디어라는 점에서 마음에 들었고 이 모델을 이용해서 뭐를 더 할 수 있을까 고민하게 되었다. 자세한 내용은 적을 수 없지만, 연구원님이 따로 코드를 남겨달라고 말해서 그런지 뿌듯한 뭔가가 있었다. 4주차 이번에는 유사도를 기반으로 메뉴 추천에 좋은 아이디어가 있는지 고민했고 끊임없이 이것저것 시도해봤다. 결론부터 말하자면, 정답이 없어서 그런지 내가 만든 모델이 좋은 성능을 가지고 있다 아니다를 판단하기 어려웠고 그냥 이 부분을 시도해봤다로 마무리되었다. 4주차에는 포항과 경주를 실컷 즐겼다. 여자친구가 내려와 전국 3대 불빛 축제를 같이 즐겼고, 경주도 다녀왔다. 포항 월포해수욕장에 가

Naver Blog

[project] 구매내역 기반 추천시스템

이번에는 휴게소에서의 구매 내역을 바탕으로 이후 구매할 상품을 예측하는 모델을 만들어봤다. 이 방식을 알고 있었다면, 아카데미에서 빅데이터 프로젝트를 진행할 때 추천 시스템을 좀 더 고도화할 수 있었을 것 같다. 참고했던 사이트는 다음과 같다. 참고 :https://seethefuture.tistory.com/81 / https://speedanddirection.tistory.com/69 우선은 여러 데이터들의 형태를 다음과 같이 통합한 데이터셋을 이용하여 진행하였다. 결과적으로는 다음과 같이 메뉴명들을 전처리했다. 더 가공할 수 있었겠지만 여기서 그만뒀다. 확실히 메뉴를 전처리해서 진행했더니 이후에 성능을 개선할 수 있었다. 정확한 가공 코드는 업로드하지 않지만 가공 후 데이터는 다음과 같다. 전체 데이터를 기반으로 진행도 했지만 이번 게시글에서는 특정 휴게소의 데이터를 가지고 진행한 내용을 적어보려고 한다. 데이터 중에서 마장휴게소 관련 데이터가 제일 많았기 때문에 마장휴게소

Naver Blog

[NEW] AutoGPT 사용법 및 사용후기

Auto-GPT는 미쳤다. 그래서 이번에 직접 Auto-GPT를 사용해보았다. 사용법 1. 우선 준비물은 본인 컴퓨터에 git과 파이썬이 설치되어 있어야 한다. 이 부분은 코딩을 하신 분이라면 다 있을 거라고 생각하기 때문에 추가적으로 남기지 않으려고 한다. 2. cmd에서 원하는 폴더 위치로 이동하고 다음과 같이 입력한다. 그러면 해당 폴더에 Auto-GPT라는 폴더가 생긴걸 확인할 수 있다. 3. VScode에서 Open Folder로 해당 폴더를 연다 솔직히 VScode로 가야지 수정하기 편하고 터미널도 동시에 사용 가능하기 때문에 VScode를 추천하는 것이다. cmd에서 바로 명령어를 통해서 다음 과정들을 수행할 수 있다면 cmd에서 진행하는 것도 개인적으로 편한 것 같다. 4. VScode에서 터미널을 열고 다음 명령어를 실행한다 (터미널 단축키 → ctrl + `) 여기서 오류가 나는 경우가 가끔 있는데 본인은 다음 블로그를 참고해서 해결했다. https://gongdo

Naver Blog

포스텍 인공지능연구원 인턴 일지 - 1주차

여자친구의 블로그를 읽다가 너무 좋은 사진이 있어서 바로 저장했다. 요즘 나에게 진짜 필요한 글귀였다. 포스코 빅데이터 아카데미를 마치고 일주일 딱 쉬고 다시 포항을 내려왔다. 취업 준비 때문에 해당 일주일도 제대로 쉬지 못했다. 기존에는 아카데미와 인턴 기간 사이에 약 3주 정도의 시간이 있었다고 하나 이번에는 연구 프로젝트 관련해서 중요한게 있어서 인턴 시작 시기를 땡겼다고 한다. 이번에는 인턴이 되기 위한 서류, 면접 과정에 대해서 적고 1주차 일지에 대해서 적어보려고 한다. 인턴 서류 & 면접 결과적으로 보면 같이 인턴이 되신 분들을 보면 내가 왜 뽑혔나하는 생각이 들었다. 대부분 인턴 분들은 아카데미 성적 우수상을 받으신 분들 혹은 프로젝트 우수상을 받으신 분들이었다. 보면 유일하게 2개 다 해당 안되는 사람은 나랑 내 룸메였다. (아카데미 때 룸메랑 둘이 같이 인턴이 됐다.) 서류 전형부터 이야기해보려고 한다. 제출 서류는 다음과 같다. 생각보다 많은 걸 보는건가 싶다가도

Naver Blog

[NEW] Meta의 Image Bind

이번에는 메타가 엄청난 AI를 만들어낸 것 같다. 아카데미에서 이미지 처리 관련 모델을 다뤄보면서 컴퓨터 비전 모델이 진짜 쉽지 않다는 것을 알았는데 역시 미국의 Meta였다. 오늘 보려고 하는 Image Bind라고 새로운 AI이다. 간단하게 설명하면 음성, 영상, 이미지를 합칠 수 있는(?) AI 라고 생각하면 편하다. 공식 사이트 링크는 다음과 같다. https://imagebind.metademolab.com/ ImageBind by Meta AI A multimodal model by Meta AI imagebind.metademolab.com AI 관련 설명이 적혀있는 논문 링크는 다음과 같다. https://arxiv.org/abs/2305.05665 ImageBind: One Embedding Space To Bind Them All We present ImageBind, an approach to learn a joint embedding across six diff

Naver Blog

포스텍 인공지능연구원 인턴 일지 - 2주차

이번 주는 진짜 어떻게 지나갔는지 모를 정도로 바쁘게 살았다.... 너무 바빴다. 수요일, 목요일, 금요일 3일 연속 면접이 있었고 토요일에는 코테와 SKCT가 날 기다렸다. 솔직히 말하면 아카데미 때는 몸만 피곤한 느낌이었다면 이번에는 정신적으로 너무 힘이 들었다. 포기하고 싶다는 생각도 조금 했다. Day1 오전에 팀 회의를 진행했다. 연구 인턴들은 따로 준비한 내용은 없었고 연구원분들의 연구 내용 및 추후 일정에 대해 듣게 되었다. 너무 빨리 끝나서 당황했다. 이 날은 옆자리 Tim이랑 같이 밥을 먹었다. Tim에게 돈까스 같이 먹을래라고 물어보고 같이 주문했다. 알게 된 점은 프랑스 파리 출신에 포스텍에서 버스타고 막히면 1시간 넘게 걸리는 거리에 산다? 정도였다. 아 충격적인건 우리 연구 인턴들 중에서 막내였다는 점이다.... 99년생,, Tim한테는 미안하지만 나보다 당연히 형일 줄 알았다. Tim이 진행하고 있는 프로젝트에 대해서 이야기를 나누고 내가 진행하는 프로젝트는

Naver Blog

[알고리즘] domjudge - Day2

오늘은 Recursion problems에 대해서 공부하였다. 대부분 재귀 함수를 이용해서 해결하는 문제였고 재귀 함수에 대한 개념을 확실하게 짚고 넘어갈 수 있었다. 대부분 다 유명한 문제들이기에 간단하게만 정리하고 가려고 한다. 1. 피보나치 수열 피보나치 코드는 솔직히 N의 값이 작을 때만 재귀함수를 돌리는게 가능하지 다른 코드로 푸는게 더 빠르긴 한 것 같다. 실제로 재귀함수를 이용하면 30이라는 수를 넘어가고부터는 슬슬 느려지는게 느껴진다. def fibonacci(n): if n < 2: return n a, b = 0, 1 for _ in range(n - 1): a, b = b, a + b return b # def fibonacci(n): # if n < 2: # return n # return fibonacci(n-1) + fibonacci(n-2) n = int(input()) for _ in range(n): num = int(input()) print(fibo

Naver Blog

[알고리즘] domjudge - 그래프

오늘은 그래프 관련 코드를 정리해보려고 한다. 그래프를 표현하는 방식으로는 2가지가 있다. 첫번째는 행렬, 두번째는 리스트다. 솔직히 전에는 딕셔너리로도 많이 표현해왔는데 리스트가 더 편한 것 같기도 하다. 오늘 작성한 코드 문제들은 그래프를 표현하는 방식 2가지와 대표적인 알고리즘 BFS와 DFS다. 1. 인접 행렬 구현하기 t = int(input()) for _ in range(t): N, M = map(int, input().split()) lst = [[0] * N for _ in range(N)] for nodecnt in range(M): a, b, c = map(int, input().split()) lst[a][b] = c for data in lst: print(' '.join([str(x) for x in data])) 그래프를 표현하는 방식 중 하나지만 거의 쓰지 않기 때문에 구현하는 방법 정도만 익히면 될 것 같다. 2. 인접 리스트 구현하기 t = int(i

Naver Blog

[알고리즘] domjudge - 마을회관 건설

이번 문제는 Domjudge에서 Hard에 속한 문제다. 처음에는 좀 많이 고민하다가 딱 한번에 풀린 문제다. 문제 정의 '알고리즘' 마을의 집들은 기형적인 구조를 띄고 있어서, 건물 주소를 전부 정수로 나타낼 수 있습니다. '알고리즘' 마을의 촌장은 주민들과의 친목 도모를 위해서 건물 중에 하나를 마을회관으로 지정하려고 합니다.(빈 건물이든 사람이 사는 건물이든 상관없습니다.) '알고리즘' 마을 사람들은 쓸데 없는 일에도 효율을 추구하기 때문에, 촌장은 이후에 말썽이 되지 않도록 어느 건물이 마을회관으로 지정되는 것이 가장 효율적인지 계산하고 싶어합니다. 촌장을 도와서 모든 마을 사람들이 거주하는 건물과 마을회관과의 거리의 합이 최소가 되도록 할 때, 그 최솟값을 출력하는 프로그램을 작성하세요. 예를 들어, 4명의 마을 주민이 0번, 3번, 7번, 13번 건물에 거주하고 있을 때, 2번 건물을 마을회관으로 쓴다면, 마을 주민이 거주하는 건물과 마을회관 사이의 거리 총 합은 19(=

Naver Blog

[알고리즘] Domjudge - Greedy & DP

세금 징수 문제 정의 어느 외딴 곳에 있는 국가는 화폐가 모두 동전으로 되어 있습니다. 동전의 종류는 50,000원, 10,000원, 5,000원, 1,000원, 500원, 100원이 있으며 그 무게는 모두 같습니다. 이 국가는 세금 징수원이 온 집을 돌아다니며 세금을 징수하게 됩니다. 다만 국가에는 거스름돈 제도가 없고, 동전이 상당히 무겁기 때문에 징수원은 어찌됐든 동전의 개수를 최소한으로 가지는 것이 효율적입니다. 국민들은 이런 세금 징수원의 고충을 알기 때문에, 내야 될 세금이 주어지면 동전을 최소 개수만 납부하려고 합니다. 납부해야 하는 세금이 주어졌을 때, 이 세금을 납부하기 위해 필요한 최소의 동전 개수를 출력하는 프로그램을 작성하세요. 예를 들어, 53,200원을 납부해야 한다면, 50,000원 동전 1개, 1,000원 동전 3개, 100원 동전 2개로 금액을 납부하면 6개의 동전만 써도 세금을 납부할 수 있습니다. 코드 코드와는 별개로 그리디 방법의 문제점을 적으려고

Naver Blog

용어 정리

Computational Thinking : 현실의 복잡한 문제를 컴퓨터가 생각하는 방식과 도구를 기반으 로 재정의하여 해결하는 사고 방식. 컴퓨팅 사고를 기반으로 추상화를 통해 문제를 재정 의하고 알고리즘과 자동화로 해결하는 것. 샌드위치 코딩 : 아이들에게 Computational Thinking을 교육하기 위한 방법으로 문제 해결을 위해 어떻게 과정을 풀어나갈 것인지 설명하게 하는 것 디지털 리터러시 : 디지털 문해력으로 다양한 출처로부터의 여러 형태의 데이터를 이해하고 자신의 목적에 맞게 조합하고 활용하는 능력으로 현재는 상용화된 기술을 포함해서 발전하고 있는 기술들을 기반으로 활용하고 발전시킬 줄 아는 능력도 포함된다고 생각 3A : Abstraction Automation Algorythm (추상화 자동화 알고리즘)으로 추상화 : 현실의 문제를 컴퓨터가 풀 수 있도록 재정의하는 것 자동화 : 추상화시킨 문제를 컴퓨팅 시스템을 통해 해결해 나가는 과정 ASCII 코드 : 컴

Naver Blog

[Arduino 체험] 온습도 예측 시스템 만들기

시스템 기능 1초마다 온습도 저장 최근 3초의 온습도 데이터로 1분 뒤 온습도 예측 사용할 기기 아두이노 VITCON 사용할 언어 python Arduino 먼저 우리는 조교님들이 작성해주신 코드를 기반으로 추가 작성하여 해당 시스템을 구현했다. 먼저 개발환경을 설정하였다. 개발환경 설정 서버 프로그램은 Node.js 기반으로 구동 예정이며 NPM을 설치하였다. $ curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - $ sudo apt-get install -y node.js 우분투에서 코드를 통해 설정하였다. IoT Remote Lab 조교님들이 따로 구현하기 편하게 코드를 작성해주신 부분이다. 해당 파일을 다운 후 압축 해제한 디렉토리 안에서 다음과 같이 명령어를 입력하였다. npm install ## IoT Web App 의존성 패키지 설치 npm run dev ## IoT Web App 실행 http://loc

Naver Blog

[AI project] 차량 견적 예상 어플 - 모델 개발일지

포스코 빅데이터 아카데미에서 마지막 프로젝트로 팀원들과 차량 견적을 예상하는 어플 구현을 진행하기로 했다. 이제부터 개발일지를 적으려고 한다. 매우 힘들고 머리가 아픈 과정이기에.... ~2023.04.09 (개발 일지 적기 전) GPU 엄청 좋은거라고 했으면서... 무슨 모델만 돌리면 마지막 결론이 메모리 초과다.... 맘 먹고 돌아간다고 좋아하면서 아침에 돌아오면... 항상 출력 결과는 메모리 초과였다... 결국 우리 조는 서버 사용 가능 여부를 여쭤봤고 5일이 지나고 승인을 받아 사용하기로 했다 . 우리 조는 지금 크게 2가지로 나눠서 진행하고 있다. 딥러닝 모델 개발 팀과 어플 구현 팀으로 나눠서 진행하고 있다. 딥러닝 모델로 필요한 것은 차량 파손 부위를 찍으면 어떤 유형의 파손인지와 파손 부분을 추출해주는 모델 / 파손 부위가 어딘지 예측하는 모델 / 파손 부위 부품, 차량 브랜드, 파손 정도 등의 변수를 기반으로 최종 가격을 예측하는 모델을 만들기로 했다. 우리가 사용한

Naver Blog

[자격증] [SQLD 자격증 | 메타코드M] SQLD 강의 후기 및 내용 정리_5

이번에는 이론 관련된 SQLD의 1과목에 대해서 한번에 정리해보려고 한다. 개인적으로 SQL을 사용한 경험이 있어서 2과목은 접근성이 좋다고 느꼈는데 항상 시험에서 어려운 부분은 1과목 같은 이론 관련 부분인 것 같다. 그래도 시험에서 중요하게 여기는 포인트라던가 어떻게 출제되어 왔는지 친절하게 설명해주셨기 때문에 이해하기 좋았다. 데이터 모델링 현실세계를 단순하게 추상화하여 정확하게 공유하는 작업이다. 추상화 : 현실세계를 일정한 형식에 맞춰 표현하기 위함 정확화 : 누구나 이해할 수 있도록 현상을 기술 단순화 : 복잡한 현실을 이해하기 쉽게 제한된 언어와 표기법으로 단순하게 표현하기 위함 유의사항 : (중복성, 비유연성, 비일관성) 중복을 최소화 데이터 혹은 프로세스의 변화가 데이터베이스에 중대한 변화를 초래 X 약속된 표기법 단계 개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링 개념적 : 추상화 수준이 높고, 전사적 모델링 시 많이 함, 포괄적 논리적 :

Naver Blog

[알고리즘] domjudge - Day1

스택 및 큐라는 자료구조를 이용한 코딩이다. 조금 고민을 했던 문제들만 따로 정리해서 보려고 한다. 1. 괄호 검사 이 문제는 쉽게 해결할 수 있었다. n = int(input()) diclst = {')':'(',']':'[','}':'{'} for _ in range(n): a = input() new = [] answer = 'YES' for st in a: if st not in diclst.keys(): new.append(st) else: if len(new) == 0: answer = 'NO' break st2 = new.pop() if st2 != diclst[st]: answer = 'NO' break if len(new) != 0: answer = 'NO' print(answer) 2. 두 바퀴 레이스 이 문제는 꽤 고민해서 풀었다. 왜냐하면 초기에 따로 리스트를 만들어서 해당 리스트에 수를 append하면서 이후에 두번째 바퀴 값이 해당 리스트 내부에 있는지 검색

Naver Blog

[필기] Dimensionality Reduction_머신러닝

차원의 정의(Dimension) 공간 내 데이터의 위치를 나타내기 위해 필요한 축의 개수로 데이터가 n개의 설명 변수를 가진다고 가정하면 해당 데이터는 n차원의 좌표 상에서 표현 가능하다. 차원의 저주 변수가 늘어나면서 차원이 커지면서 발생시키는 문제 필요한 데이터 수의 지수 함수적 증가로 정보의 밀도 감소 공간을 설명하기 위한 데이터가 부족해서 과적합이나 성능이 감소할 수 있음 차원 축소 데이터를 잘 설명할 수 있는 변수의 개수(Latent Space)는 현재 변수의 개수(Observation Space)보다 작을 수 있기 때문에 데이터를 기반으로 잠재 공간을 파악하는 것 효과 차원의 저주 해결 연산량 감소 시각화 용이 방법 변수 선택(Feature Selection) 원본 데이터의 변수 중 불필요한 변수를 제거하는 방법 변수 추출(Feature Extraction) 원본 데이터의 변수들을 조합해 새로운 변수를 생성하는 방법 종류로 PCA, LDA, t-SNE가 있음 PCA Pri

Naver Blog

[자격증] [SQLD 자격증 | 메타코드M] SQLD 강의 후기 및 내용 정리_4

내용 정리 오늘은 앞에서 공부했던 SELECT 문에서 좀 더 활용할 수 있는 함수들에 대해서 강의를 들었다. 진짜 많은 내용을 정리할 예정이라 분량도 많다. 그러나 강사님께서 친절하게 설명해주셔서 이해하기에는 빨랐다. 나중에 내가 복습하면서 다시 다 외우는 일만 남은 것 같다. GROUP 함수 이 함수 관련 문제는 출제율이 100%라고 강조하셨다. GROUP BY 내에서 사용되는 함수는 다음과 같다. 1. GROUP BY 성별, 연령 2. GROUP BY ROLLUP(성별, 연령) 3. GROUP BY CUBE(성별, 연령) 4. GROUP BY GROUPING SETS(성별 연령) 일단 다음 결과와 같이 GROUP 함수는 특정 컬럼을 묶어서 결과를 내준다. 좀 더 설명하자면 ROLLUP 함수의 경우에는 함수으 ㅣ인자가 주어진 순서에 따라 결과가 달라지며, 계층 구주로 집계값을 반환한다. 그룹 함수에 의해 집계된 결과에서 집계 대상이 아닌 GROUP 대상 컬럼 값은 NULL로 출력된

Naver Blog

[필기] Clustering_머신러닝

Clustering(군집화)의 정의 유사한 속성을 갖는 데이터들을 묶어 전체 데이터를 몇 개의 군집으로 나누는 것으로 계층적 군집화와 비계층적 군집화가 있다. Classification Clustering Supervised Learning Unsupervised Learning 소속 집단의 정보를 알고 있는 상태 소속 집단의 정보를 모르고 있는 상태 Label이 있는 데이터를 나누는 방법 Label이 없는 데이터를 나누는 방법 계층적 군집화 계층적(Hierarchical) 군집화란? 개체들을 가까운 집단부터 묶어 나가는 방식으로 유사한 개체들이 결합되는 dendrogram을 생성한다. Cluster들은 sub-cluster를 갖고 있다는 특성이 있다. 가까운 거리를 판단하는 종류 유클리드 거리 맨해튼 거리 표준하 거리 민콥스키 거리 계층적 군집의 종류 최단 연결법 최장 연결법 평균 연결법 중심 연결법 출처 : https://codedragon.tistory.com/9829 EX)

Naver Blog

[자격증] [SQLD 자격증 | 메타코드M] SQLD 강의 후기 및 내용 정리_3

내용 정리 이번 글에서는 SQL 언어 종류 중 DML을 다뤄보려고 한다. 난 개인적으로 공부하면서 이후 SQL 언어를 사용하게 된다면 해당 언어를 제일 많이 사용하게 될 것이라고 생각한다. 또한, 이 언어를 얼마나 잘 응용하냐에 따라 SQL 언어 실력이 정해진다고 생각한다. TCL TCL이란 트랜잭션을 제어하기 위한 언어로 여기서 말하는 트랜잭션이란 데이터베이스 상태를 변화시키기 위해 수행하는 작업의 단위다. COMMIT 데이터에 대한 변화를 DB에 반영하기 위한 명령어 SAVEPOINT 코드를 분할하기 위한 저장 포인트 지정 ROLLBACK 트랜잭션이 시작되기 이전의 상태로 되돌리기 위한 언어 여기서 주의할 점은 DML은 자동으로 commit되지 않는다는 점이다. 즉 SAVEPOINT가 없을 경우 가장 최신의 COMMIT 상태로 복원된다고 생각하면 된다. 이번에는 트랜잭션의 특징을 알아보려고 한다. 강사님 말로는 해당 특징들을 이해하고 잘못된 걸 고를 줄 알아야 한다고 하셨다. 고

Naver Blog

[필기] Boosting_머신러닝

Boosting 부스팅의 정의 약 분류기를 순차적(Sequential)으로 학습하는 앙상블 기법 예측을 반복하면서 잘못 예측한 데이터에 가중치를 부여해서 오류를 개선 Bagging Boosting 무작위 복원 추출로 부트스트랩 샘플 추출 부트스트랩 샘플을 추출하는 과정에서 각 자료에 동일한 확률을 부여하는 것이 아니라 분류가 잘못된 데이터에 더 큰 가중을 주어 표본을 추출 AdaBoost Adaptive Boosting 간단한 약 분류기들이 상호 보완하도록 순차적으로 학습 과소적합된 학습 데이터의 가중치를 높이면서(Adaptive) 새로 학습된 모델이 학습하기 어려운 데이터에 더 잘 적합되도록 하는 방식 * 약 분류기 : 변수 하나와 if 문 하나 정도의 Depth 학습 방법 전체 학습 데이터를 이용해 모델을 생성 잘못 예측된 데이터의 가중치를 상대적으로 높여줌 가중치를 반영하여 다음 모델을 학습 EX) 패스트캠퍼스 PPT 자료 참고 예측 방법 각 모델의 신뢰도를 곱하여 Voting

Naver Blog

[자격증] [SQLD 자격증 | 메타코드M] SQLD 강의 후기 및 내용 정리_2

내용 정리 오늘 정리해보자 하는 내용은 다음 세션을 듣고 정리한 내용이다. 강사님께서 빠르고 쉽게 잘 설명해주시는게 느껴졌다. 학부에서 SQL은 한번 접해봤기 때문에 좀 더 정리하는데 쉬웠던 면도 있는 것 같다. 정확히는 이번 글에서는 SQL 언어 종류 중 DCL과 DDL을 다뤄보려고 한다. SQL 문장 종류 우선 SQL의 언어의 종류에 대해서 알아야한다. 우선 SQL 문장에는 DCL, DDL, DML로 나뉜다. DCL Data Control Language로 데이터베이스 사용자에게 권한을 부여/회수하는 언어다. 즉 우리가 뒤에서 사용할 DDL과 DML은 해당 언어를 통해 권한을 받지 못하면 사용하지 못하는 것이다. GRANT : 권한을 부여하는 명령어 GRANT 권한 ON TABLE TO 유저; 옵션으로 뒤에 WITH GRANT OPTION을 붙이게 되면 특정사용자에게 권한을 부여하는 권한을 부여하는 것이고, WITH ADMIN OPTION 같은 경우는 테이블에 대한 모든 권한을

Naver Blog

[자격증] [SQLD 자격증 | 메타코드M] 강의 후기 및 내용 정리_1

취준을 하면서 미리 따놓을 걸이라고 후회한 자격증이 하나 있는데 그게 바로 SQLD였다. 물론 나는 대학 전공에 SQL 관련해서 수강했기 때문에 기초 지식은 있었다. 그러나 SQL을 이용한 프로젝트 경험도 없었고 자격증도 없다보니 증명할만한 자료가 없었고 그렇다고 또 SQL을 사용해서 프로젝트를 진행하려니 생각보다 대규모로 구축된 관계형 데이터베이스를 접근할 일이 없었다. 그렇기 때문에 3월의 SQLD 자격증 취득을 목표로 하고 있었고 공부 계획을 세우고 있었다. 우연히 메타코드 커뮤니티를 통해서 Udemy의 "[SQLD 자격증] 8만명이 유튜브에서 검증한 메타코드M의 대표강의"를 접하게 되었고 해당 강의 지원 무료 이벤트에 당첨되어서 해당 강의를 통해서 열심히 공부해보고자 한다. 강의 소개 강의명 : [SQLD 자격증] 8만명이 유튜브에서 검증한 메타코드M의 대표강의 링크 : https://www.udemy.com/course/sqld-metacode/?referralCode=57

Naver Blog

[필기] KNN_머신러닝 with Python

KNN 기본 개념에 대해서 정리해놓은 글이다. https://blog.naver.com/lifeofkwon/223010504102 [필기] KNN_머신러닝 학습 방법과 모델 모델 기반 학습 (Model-Based Learning) 데이터로부터 모델을 생성하여 분류 / 예측 ... blog.naver.com 이번에는 데이터 단골 손님 Iris 데이터로 해보려고 한다. from sklearn.datasets import load_iris iris = load_iris() data = iris.data target = iris.target 편하게 보기 위해서 살짝의 가공을 하려고 한다. data = data[target != 0, 2:] target = target[target != 0] data = pd.DataFrame(data) target = pd.DataFrame(target) target = target.loc[~data.duplicated()].values.flatten()

Naver Blog

[필기] SVM_머신러닝

SVM의 정의 SVM(Support Vector Machine)은 결정 경계(Decision Boundary)를 정의하는 모델 목표 Margin을 최대화하는 Decision Boundary(결정 경계) 찾기 이 때 Support Vector가 Decision Boundary를 만드는데 영향을 주기 때문에 모델명을 이렇게 명명함 구성요소 Support Vector 두 클래스 사이의 경계에 위치한 데이터 포인트들 Margin Decision Boundary와 서포트 벡터 사이의 거리 * 2 그림에서 점선끼리의 거리 Decision Boundary 데이터를 나누는 기준이 되는 경계 2차원에서는 선이지만 3차원에서는 면으로 존재! 장점 비선형 분리 데이터도 커널을 사용하여 분류 가능 고차원 데이터에서도 사용 가능 단점 데이터가 많으면 속도가 느림 확률 추정치를 제공 X Margin의 종류 Hard Margin 어떠한 오분류도 허용하지 않음 Soft Margin 어느 정도의 오분류는 허용하되

Naver Blog

[필기] SVM_머신러닝 with Python

이번에 사용하려는 데이터도 sklearn에서 제공해주는 Iris 데이터 셋이다. from sklearn.datasets import load_iris iris = load_iris() data = iris.data target = iris.target data = data[target !=0, :2] target = target[target !=0] 데이터를 불러오고 시각화하고 모델을 파악해보기 위해 단순하게 2종류로만 남긴다. from sklearn.model_selection import train_test_split train_data, test_data, train_target, test_target = train_test_split( data, target, train_size=0.9, random_state=2021 ) 훈련데이터와 테스트 데이터로 나눈다. Linear Kernel 해당 모델은 SVC로 사용할 수 있다. from sklearn.svm import SVC l

1 2 3