본문 바로가기
  • Seizure But Okay Developer

전체 글193

1주차 강의 내용 정리 - 6 개요 gradient descent에 대해서 배운다. 내용 gradient descent는 체계적인 방법으로 최소한의 크기의 w, b 값을 찾아주는 알고리즘이다. gradient descent는 딥러닝을 포함한 머신 러닝의 전반적인 곳에서 쓰인다. gradient descent 의 전반적인 내용에 대해서 살펴보자. gradient descent 는 어떠한 함수에도 적용할 수 있고 함수들은 n 개의 인자를 가진다. 우리는 최소한의 크기를 가진 cost function을 찾으려고 한다. 이를 위해 w, b 값에 대한 초기 추측값을 가지고 시작한다. linear regression의 경우 초기값이 무엇인지간에 크게 상관이 없어서 보통 w, b의 초기값을 0으로 잡고 시작한다. 우리가 할 것은 J(w) 값을 최.. 2023. 7. 12.
1주차 강의 내용 정리 - 5 개요 지난 시간에 이어서 cost function 에 대해서 다룰텐데, 좀 더 많은 예제를 통해 익힐 것이다. 내용 지난 시간에 배웠던 cost function 개념의 전반적인 내용을 정리하면 아래와 같다. 지난 시간에는 b를 0으로 세팅하여 간편하게 구했으나 이번엔 b에 다양한 값을 세팅하여 어떤 형태로 그려지는지 확인해보자 예를 들어 w = 0.06 이고 b = 50 인 f(x) 함수를 그린다고 했을 때 왼쪽 위 형태와 같이 나타내진다. 이 경우 데이터들과 그닥 밀착되어 있지 않으므로 좋은 linear regression model이 아니다. 그리고 이 경우 J(w) 함수는 단순히 이차원 포물선 함수가 아닌 삼차원으로 그려진다, 왜냐면 b의 값이 0이 아닌 값으로 대입되기 때문이다. 그래서 그림은 아.. 2023. 7. 6.
백준 문제풀이 정리 - 24262 문제내용 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자. MenOfPassion 알고리즘은 다음과 같다. MenOfPassion(A[], n) { i = ⌊n / 2⌋; return A[i]; # 코드1 } https://www.acmicpc.net/problem/24262 문제설명 MenOfPassion 코드에서 #코드1 을 수행했을 때의 횟수와, 시간복잡도 표현식인 Big O 표기법으로 나타냈을 때의 최고차항을 출력해야 하는 문제이다. 하나의 값을 가져올 때의 횟수는 1번이므로 어떤 값을 넣든 횟수는 1이다... 2023. 6. 29.
백준 문제풀이 정리 - 2798 문제 내용 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다. N장의 카드에 써져 있는 숫자가 주어졌을 .. 2023. 6. 21.
1주차 도입부 - What is machine learning? Definition of machine learning by Arthur Samuel Field of study that gives computers the ability to learn without being explicitly programmed. 컴퓨터에게 명확히 프로그래밍한 것없이도 배울 수 있는 능력을 부여해주는 연구 분야 Arthur는 체스를 잘 못두는 사람이었다. 대신 컴퓨터 프로그램에게 수천개의 체스 게임을 시켰다. 어느 위치에 말을 두었을 때 이기는지 혹은 지는지를 학습하게 하였다. 학습 시킨 방법은 좋은 위치에 말을 두도록 하면서 안 좋은 위치에는 배치하지 않는 방식이었다. 프로그램은 수천 번의 게임을 반복하면서 학습을 거듭하였고 그 결과 이전보다 더 나은 플레이어, 심지어 Arthu.. 2023. 6. 18.
TodoList 구현 과정 설명 개요 todoList를 javascript로 구현하는 과정을 글로 정리함 구현 과정 각 UI 컴포넌트를 객체로 설계한 뒤 이에 대한 구현 코드를 작성하였음 컴포넌트 별로 UI를 분리한 것에 대해선 더 많은 설명이 필요하나 현재는 프론트엔드 단에서 UI 별로 인스턴스를 생성하여쓰는 것과 this를 쓰는 다양한 방법에 대해서 공유를 하기위해 목적임. 필요 과정 VSCODE 해당 프로젝트는 여러 javascript 소스를 분리하고 import 하는 방식으로 사용하였으므로 source 타입을 module로 지정하였음, 이에 따라 Live Server 플러그인을 설치하여 로컬 서버를 띄워야 화면에서 확인할 수 있음 Live Server 플러그인 설치 Live Server 플러그인 설치 후 index.html을 v.. 2023. 6. 2.
잘못된 실타리 나는 부정적으로 생각하는 경향이 강하다. 친구 말로는 다른 나쁜 친구가 학창 시절부터 가스라이팅을 하여서 그런 버릇을 가지게 되었다고 얘기해주었다. 그런 사연은 여차하고 그렇기 때문에, 혹은 쌓인 실패의 경험들 때문에 잘 안될 것이라고 상정하고 진행을 할때가 종종 있었다. 그렇기 때문에 과정에서 열심히 안하게 되고, 잘 안되더라도 원래 안되는 거기 때문에 안되는 거라고 치우는 경우가 많았다. 또 직장에서 항상 지적받았던 게 지시했던 것을 전부 수행하지 못하거나, 빠뜨린 게 있던 것이었는데 이는 내가 여유가 없고 체력이 없기 때문이라는 것을 뒤늦게서야 깨닫게 되었다. 원래 먹던 약이 있는데, 이 약이 일을 할 때 지장을 주는게 없지 않아 있었다. 까먹게 된다던지 말이다. 쉬는 이 기간동안 제일 우선적으로 .. 2023. 5. 11.
스시집, 레스토랑 알바 경험 후기 개발 일을 잠시 접어두고, 벌이를 위해서 스시집과 애슐리 알바를 뛰었다. 오후에는 일을 하고 오전에는 공부를 하기 위한 심산이였다. 결과적으로, 오후에 일을 너무 빡시게 하는 바람에 오전에 일어나지 못하고 하루를 보내는 나날이 이어져버렸다 ㅠㅠ 애슐리는 주방 일을 했는데 고기굽는게 너무 힘들어서 몇주 일하다가 그만뒀고 스시집은 그에 비해 일이 할만했으나 여러 여건 문제로 한달 정도하고 그만두게 되었다. 알바들을 하면서 느낀 것은 돈이란 것이 벌기 정말 쉽지 않다는 것을 느꼈다. 알바든 직장이든 일로써 제대로 하면 정말 힘들다는 것을 느꼈다. 알바에선 육체적으로 힘들었고 직장에선 부족하다고 지적받으며 정신적으로 힘들다고 느꼈던 것들이 상반되었다. 알바를 할 때 고기를 수없이 구울때는 차라리 욕먹으면서 직장.. 2023. 5. 11.
싱글톤 컨테이너 개요 스프링에 대한 이해를 위해 글을 씁니다. 내용 스프링의 기본 토대 중 하나인 싱글톤 컨테이너 개념에 대해서 알아보겠습니다. 싱글톤 사용 이유 스프링은 기업용 온라인 기술을 지원하기 위해 탄생했습니다. 이때 대부분의 스프링 애플리케이션은 웹 용입니다. 웹 애플리케이션은 여러 고객으로부터 동시에 요청을 받는데요. 만약 스프링을 적용하지 않은 순수 자바 프로그램이라면 3명의 고객이 요청을 하면 각기 다른 3개의 객체가 DI 컨테이너에 생성이 됩니다. 이 경우 메모리 낭비가 심합니다. 이를 해결하기 위해 객체 1개만 생성하고 이를 공유하도록 설계하는데 이때 사용하는 것이 싱글톤 패턴입니다. 싱글톤 패턴의 개념에 대해선 간단하게 설명하고 넘어가겠습니다. 싱글톤 패턴 개념 클래스 인스턴스가 딱 하나만 생성되도.. 2023. 4. 29.