본문 바로가기

분류 전체보기141

\(R^2\)(선형회귀 모형 성능평가 지표) 계산 및 코드구현 방법 목차 1. 선형 회귀 모델 성능평가 지표: \(R^2\) 2. 파이썬 sklearn 모듈로 \(R^2\) 적용 지난 시간에 규제화에 대해서 알아보았다. (참고글 - 규제화(Regularization): L1, L2 penalty term) 규제화란, 지도학습 모델의 성능 평가 단계에서 과적합(Overfitting)이 일어나는 경우에 이를 해결하기 위해서 사용하는 방법이라고 했다. 그렇다면, 과적합 또는 과소적합으로 인해 모델의 성능이 얼마나 떨어지는지는 어떻게 알 수 있을까? 학습 데이터를 통해 학습단계에서 학습을 시킨 모델을 평가 데이터에도 학습을 시키고 나서 특정 평가지표를 통해 모델의 성능을 확인할 수 있다. 성능 평가 단계에서 사용하는 특정 평가지표는 우리가 풀어야 할 문제가 어떤 문제인가에 따라.. 2023. 5. 26.
규제화(Regularization): L1, L2 penalty term 목차 1. 규제화(Regularization)란? 2. L1 penalty term 3. L2 penalty term 지난 시간에 기계학습 종류와 지도학습 중에서도 선형회귀 문제에 대해서 알아보았다.(참고글 - 기계학습(ML): 선형회귀 모델 학습 원리, 성능 평가 방법) 그중 성능 평가 단계에서 선형회귀 문제에 대한 성능평가를 할 수 있는 지표는 \(R^2\)가 있었고, 평가가 단계에서 모형의 성능이 좋지 않은 경우 보통 과적합(Overfitiing) 문제라고 했다. 과적합이 일어나는 주된 이유는 첫 번째로, 사용하는 모형에 존재하는 파라미터의 수가 너무 많은 경우가 있었고 두 번째로, 학습을 통해서 도출된 수학적 모형이 독립변수의 값의 변화에 너무 민감하게 반응하는 경우가 있었다. 그리고 이를 해결할.. 2023. 5. 23.
기계학습(ML): 선형회귀 모델 학습 원리, 성능 평가 방법 목차 1. 기계학습(ML) 종류 2. 학습데이터와 문제 데이터 준비 3. 알고리즘(혹은 모형) 선택 3-1. 선형 회귀 모델 4. 학습 4-1. 파라미터 최적값 도출 4-1-1. 정규방정식 4-1-2. 경사하강법 4-3. 성능 평가 4-2-1. 과적합(Overfitting) 1. 기계학습 종류 기계학습에 종류에는 크게 전통적인 머신러닝과 딥러닝이 있다. 전통적인 머신러닝의 경우엔 보통 정형 데이터(표 형태로 저장되어 있는)를 다룰 때 사용하며, 종류에는 선형회귀, 로지스틱, 결정트리가 있다. 딥러닝은 비정형 데이터를 주로 다루며, 비정형 데이터라고 하면, 이미지, 오디오, 비디오, SNS나 뉴스의 댓글 같은 텍스트들이다. 참고로, 기계학습이 영어로 머신러닝(Machine Learning)이니 다른 것으.. 2023. 5. 19.
Git branch 기본 사용법 및 Github 협업 방법 1. Git Branch 기본 사용법 - Git Branch 생성 - Git Branch 전환 - Git Branch 목록 확인 - Git Branch 삭제 - Git Branch 병합 2. Git Branch, Github 협업 방법 - Git으로 작성한 코드 Github에 Push하기 - Git으로 작성한 코드 Github에서 Pull하기 - 협업을 위한 Git Branch 전략 * Git, Github를 처음 접하신 다면, 아래 글을 먼저 보고오시는 걸 권장드립니다. CLI환경에서 git clone생성부터 commit, push까지(MacOS) * MacOS 환경을 기준으로 작성했습니다. 기본적인 git의 프로세스는 위와 같습니다. 위의 그림을 잘 기억하면서 git clone생성부터 commit과 .. 2023. 5. 3.
[이어드림스쿨 3기] 1개월차 후기(03.27~04.30: 5주) 1주차: 03.27~04.02 이어드림스쿨 1주차: 빅데이터 직무, 기초문법, 자료구조, 알고리즘, 아키텍처 티스토리 블로그 6개 포스팅 '생각에 관한 생각' 3개 파트 독서 '퀀트 투자 무작정 따라하기' 1/2 독서 패스트 캠퍼스 '데이터분석을 위한 기초 통계 완전 정복' 1/3 수강 노션 돈관리 데이터베이스 정리 2주차: 04.03~04.09 이어드림스쿨 2주차: 운영체제, 네트워크, Software Engineering, 인공지능 특강, 통계학(데이터개요, 통계학, 학률, 표본, 모집단, EDA, 이상치탐지, 정규분포) 티스토리 블로그 10개 포스팅 빅데이터 직무 컴퓨팅사고, 문제해결 기본 프로그래밍 개념 추상자료형(ADT) 자료구조: 시간복잡도, 공간복잡도 자료구조: 배열, 연결리스트, 스택, 큐.. 2023. 5. 1.
CLI환경에서 git clone생성부터 commit, push까지(MacOS) * MacOS 환경을 기준으로 작성했습니다. 기본적인 git의 프로세스는 위와 같습니다. 위의 그림을 잘 기억하면서 git clone생성부터 commit과 push까지 수행해봅니다. 기본 커멘드 ls: list segment. 하위로 선택할 수 있는 Directory나 파일들을 모두 보여준다. ls -a: 숨김파일까지 모두 보여준다. ls -l: line by line으로 한 줄씩 부가정보를 출력해준다. cd ..: Directory 뒤로가기 cd {repo name}: Directory 변경 mkdir: Directory 생성 rm {file name}: 파일 삭제 cat {file name}: 텍스트 파일 내에 존재하는 모든 텍스트 라인들을 합쳐서 shell에 표현한다. 0. Terminal, Rep.. 2023. 5. 1.
프로세스 관리: 생성, 제거, 스케줄링 (feat. PCB) 프로세스 관리(Process management) 실제로 프로세스는 메모리 상에서 어떻게 만들어지고, 어떻게 조절이 되는지 등에 대한 내용을 배울 수 있다. 해당 글의 이해를 돕기 위해 이 글을 먼저 보고 오시는 걸 추천드립니다: 프로세스 상태 전이도 목차 1. PCB(Pcrosess Control Block)란? 2. 프로세스 생성: 프로세스가 어떻게 만들어질까? 3. 프로세스 제거(termination) 4. 프로세스 스케줄링(Proces Scheduling) 1. PCB(Pcrosess Control Block)란? PCB(Process Control Block)는 운영 체제가 프로세스를 관리하기 위해 사용하는 자료구조이다. 각 프로세스마다 하나의 PCB가 할당되며, 해당 프로세스의 상태와 제어 정.. 2023. 4. 26.
프로세스 상태 전이도(feat. 프로세스 vs 프로그램 용어 차이) 1. 프로세스 vs 프로그램 무슨 차이일까? 프로그램(Program): 저장공간에 저장되어 있는 명령어 목록 파일 프로세스(Process): 메모리에서 실행되고 있는 프로그램 .프로세스는 OS에서 가장 중요한 기본적인 개념이다. 프로그램이라는 말이있고, 프로세스가 있는데 컴퓨터에서 이 2가지는 이제부터 다른 개념이라고 생각해야한다. 프로그램은 한 마디로 말하면, 명령어 목록이 있는 파일이다. 즉, 프로그램은 SSD/HDD같은 Storage에 저장되어있는 명령어 집합을 이야기한다. 카카오톡 프로그램이라고 하면, 내 컴퓨터 어딘가에 카카오톡을 실행할 수 있는 여러가지가 깔려있다. 윈도우는 C드라이브 안에 Program files라는 폴더 안에 들어가 있다. 그 폴더 이름이 Program files인 이유이다.. 2023. 4. 24.
운영체제 종류: 유닉스, 윈도우, 맥OS, 리눅스 운영체제의 종류 1. 유닉스(Unix) 2. 윈도우(Windows) 3. MacOS 4. 리눅스(Linux) 1. 운영체제의 근본: 유닉스(Unix) 운영체제라는 개념은 컴퓨터가 처음 시작될 때, 원래 없었다가 점점 고도화 되면서 시스템 리소스를 관리하는 시스템 소프트웨어 필요성으로 인해 만들어졌다. 1969년도에 처음 만들어지고, 그 이후에 여러가지 운영체제가 나왔다. 1972년도에 C언어가 만들어졌다. 그 당시에 전세계에서 가장 유명한, 컴공의 관련 모든 기초 학문의 개념이 다 등장한 벨렙(벨 연구소)라는 곳에서 정말 유명한 컴퓨터 과학자들이 만든 것이 C언어이다. C언어는 운영체제를 만들기 위해 만들어진 언어이다. 윈도우를 제외한 모든 운영체제를 포괄하는 것이 유닉스이다. 유닉스 계열에 있는 것이 .. 2023. 4. 22.
운영체제: 유저모드, 커널모드, 시스템콜 운영체제: 유저모드, 커널모드, 시스템콜 운영체제를 통해 안정적이고, 효율적인 동작을 하기 위해서는 사용자 또는 응용프로그램이 직접 하드웨어에 접근하는 것을 막아야한다. 운영체제 내부에서는 컴퓨터가 CPU를 어떻게 사용하느냐에 따라 2가지 방식으로 컴퓨터를 제어한다. 하나는 CPU의 명령어를 마음대로 설정할 수 없게끔 만들어 놓은 모드가 있다. 이걸 유저 모드라고 한다. CPU를 직접 컨트롤 할 수 있는 커널 모드이다. 유저모드(User Mode): 사용자와 데이터를 왔다갔다할 수 있는 등의 작업을 한다. 은행원이 데스크에서 고객과 상담하는 것과 비슷하다. 커널모드(Kernel Mode): 운영체제 내부에서 실제로 하드웨어를 제어할 수 있다. 은행원이 뒤에서 작업을 하는 것과 비슷하다. 이렇게 두가지 모.. 2023. 4. 22.
Selenium 모듈 설치 및 크롤링 환경세팅 Selenium 모듈 설치(feat. Visual Studio Code)1. Visual Studio Code 최신버전 설치 후, 실행2. Open Folser 클릭 -> C드라이브에서 본이만의 폴더 생성3. 왼쪽 Extantion 메뉴에서 "Python" 검색 후, 확장팩 설치4. 다시 Explorer로 돌아와 New File 클릭해서 파일 생성후, .py 파일로 변환5. 상단 Workspace에서 Show and Run Commands 클릭 후, Python: Select Interpreter 선택6. .py 파일 왼쪽 클릭 후, Open in integrated terminal 클릭7. pip install selenium 입력하여, 모듈 설치8. "chrome://settings/help" 를 입.. 2023. 4. 19.
운영체제(OS)란? 개념과 구조(커널, 시스템콜 등) 운영체제(Operating Systems, OS)란? 운영체제(OS)란 유저가 컴퓨터를 편하게 사용할 수 있게 모든 하드웨어 자원을 관리해주는 프로그램이다. 모든 하드웨어 자원을 관리? 그게 무슨 말일까? 하드웨어 자원에는 CPU, 메모리, I/O 디바이스 등이 있다. 묶어서 컴퓨터 자원(resource)이라고 한다. (하드웨어 관련 부가적이 설명이 더 필요하다면, 이글을 보면 된다.) 유저들은 구글이나 카카오톡같은 프로그램을 사용하거나, 키보를 입력하는 등의 작업을 할 때, 동작원리가 어떻게 되는지 알지 못해도, 프로그램이 알아서 연동되는 것처럼 이러한 것들을 OS가 다 관리를 해주는 것이다. 아이폰도 iOS가 있고, 아이패드OS, 맥OS, 윈도우, 리눅스 등 이러한 것들이 전부 운영체제라는 큰 틀안에.. 2023. 4. 18.