분류 전체보기 96

[네이버AI class] 4주차 (1) - 확률론

딥러닝과 확률론  딥러닝을 이해하기 위해서는 확률론을 이해해야 한다.특히 머신러닝의 loss function (손실함수) 작동원리가 데이터 공간을 통계적으로 해석하는 것을 전제하기 때문에, == '예측이 틀릴 위험 (risk)이 최소화 하도록 학습하는 원리' 개념에 확률론이 필요한 것. ex. 회귀 문제 - L2 Norm의 손실함수는, 예측 오차의 분산을 가장 최소화 하는 방향으로 학습을 유도한다ex. 분류 문제 - 분류에서의 교차엔트로피(Cross Entropy)는 모델 예측의 불확실성을 최소화 하는 방향으로 학습을 유도한다 이처럼 회귀 문제이든 분류 문제이든, 머신러닝에서의 손실함수(loss function)은데이터의 분포와 모델 예측 분포의 차이를 최소화 하는 방향으로 학습하는, 확률론 기반 학습이..

ML study 2024.05.21

[코테] 99클럽 코테 스터디 1일차 TIL - 해시

항해 99클럽 코테 스터디는 앞으로 6주동안 이어질 예정.! 이참에 가능한 한에서 매일 미들러 문제를 풀어보면 좋을 것 같다. Question1 - [미들러] 전화번호 목록  문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42577전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4421전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 fa..

Dev 2024.05.20

[네이버AI class] 3주차 (4) 딥러닝 학습 원리

앞선 (3)에서는 데이터를 선형 모델로 해석하고, 경사하강법으로 학습하는 방법을 확인 했다. 선형 회귀가 아닌 더 복잡한 예측을 위해서는 선형모델만으로는 부족, 비선형 모델이 필요한데, 이제부터는 비선형 모델인 신경망에 대해 알아보도록 한다.선형 모델 경사하강법 강의는 아래 참고 https://ysryuu.tistory.com/64 [네이버AI class] 3주차 (3) - 경사하강법미분 (differentiation)미분이란 '한 점에서의 기울기' 이다.이는 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로, 최적화에서 많이 사용하는 기법이다.미분은 변화율의 극한으로 정의ysryuu.tistory.com신경망비선형 모델 비선형 모델은 입력과 출력간의 관계가 선형적이지 않은 모델이다. 즉 변수 ..

ML study 2024.05.20

[네이버AI class] 3주차 (3) - 경사하강법

미분 (differentiation)미분이란 '한 점에서의 기울기' 이다.이는 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로, 최적화에서 많이 사용하는 기법이다.미분은 변화율의 극한으로 정의하는데, 어떤 기울기를 계산할때, f(x+h) - f(x)를 h로 나눈 것, 이 변화율의 극한값이 미분이다.  미분을 구하는 코드는 아래와 같음. sympy 라이브러리를 활용해서,  그 안에 diff 기능을 계산한다 (도함수 구하기)딥러닝에서도 이렇게 수치적으로 미분 계산 및 최적화 해서 활용할 예정.import sympy as sp# 변수 및 함수 정의x = sp.symbols('x') # 변수 x를 정의합니다.f = x**2 + 3*x + 2 # 미분할 함수를 정의합니다.# 함수를 x로 미분합니..

ML study 2024.05.20

[네이버AI class] 3주차 (2) - 행렬

행렬의 개념행렬이란?  행렬은 벡터를 원소로 가지는 2차원 배열이다.행렬에는 행과 열이 있다.벡터처럼 np.array로 나타낼 수 있는데, 아래처럼 numpy에서는 행벡터를 원소로 가지는배열 array으로 정의한다.행렬의 특정 행을 고정하면 행벡터, 특정 열을 고정하면 열벡터라 부른다. 행렬을 확장해서 n개의 행 벡터 * m 개의 성분으로 이루어지는 배열로 볼 수 있다.  (n x m 행렬)행렬은 대문자 볼드체로 (A) 표시하기도, 소문자 행렬을 함께 나타내어 표시하기도(aij) 한다.A = np.array([[1,2,3], [4,5,6], [7,8,9]])   전치 행렬 (Transpose Matrix) 전치행렬이란 행과 열의 인덱스가 바뀐 행렬이다. Xij 가 Xji..

ML study 2024.05.17

[네이버AI class] 3주차 (1) - 벡터

벡터  (Vector) 벡터의 개념 벡터란 숫자를 원소로 가지는 리스트 또는 배열. 가로로 배열되면 행벡터, 세로로 배열되면 열벡터로 불리며,  벡터 안에 요소의 수가 곧 '벡터의 차원'이 된다. 벡터는 '공간에서의 한 점'을 나타낸다.- 1차원 벡터 : 1차원 공간 (x축) '수직선 상의 한 점'을 의미 (스칼라)- 2차원 벡터 :  2차원 공간 (x축, y축)  '좌표평면 상의 한 점'을 의미 (x,y) - 3차원 벡터 : 3차원 공간 (x축, y축, z축) '공간 상의 한 점'을 의미 (x,y,z) - n차원 벡터 : n차원 공간 (.... n개의 축) 'n차원 공간 상의 한 점'을 의미 벡터는 원점으로부터의 '상대적 위치'를 표현한다 아래 그림처럼 점, 화살표가 달린 선으로 시각화 할 수 있듯이 ..

ML study 2024.05.16

[세미나] VESSL AI - 2024 MLOps Now — LLM in Production

VESSL AI 의 MLOps 관련 세미나 현장 참여는 못하고 유튜브로 확인했다.연사분은 총 세분이셨고, 각각 VESSL AI CEO분, Pinecone, Sionic CEO분이 발표를 하셨는데 유익했어서 포스팅을 남겨두려함. (내가 들은 순)실제 업계에서 어떤 이야기들을 하고 고민들을 하는지 들을 수 있는 기회였다.VESSL AI에서 MLOps Now 시리즈로 몇번 더 세미나 자료가 올라와있는 것 같아서 재밌어 보이는 것들 확인하려고 한다. 세미나 링크는 아래. https://www.youtube.com/playlist?list=PL8MX6vEO4aqYXbulhI0_daiVwZPduf9_q 2024 MLOps Now — LLM in Production by VESSL AI www.youtube.com ..

NLP | LLM 2024.05.16

[알고리즘] 피보나치 수열

피보나치 수열이란? (Fibonacci Algorithm)피보나치 수열이란, 첫째, 둘째 항이 1이고 그 뒤의 항이 바로 앞의 두 항의 합인 수열을 말한다. 인터넷에 피보나치 수열을 검색하면 다양한 이미지들을 보게되는데, 모두 동일한 수열을 뜻하는 것이 맞다. 가장 기본적인 수열의 규칙을 드러내는 형태로는 아래 그림인데, 규칙과 수열을 알 수 있다.아래 수열에서 이렇게 나오는 각 항의 수들을 '피보나치 수(Fibonacci number)' 이라고 하며, 아래 공식을 만족하는 수열 관계를 가진다.HTML 삽입미리보기할 수 없는 소스  일렬로 배열된 수열 뿐 아니라, 피라미드 형식으로, 역삼각형 형태의 수의 관계가 위의 두개 값의 합이 아래의 값을 나타낸다고 볼 수도 있다.또한 황금비에 수렴하는 성질도 있어..

Dev 2024.05.14

[Python] 11. 뱀게임 스코어 파일에 기록 (feat. 파일 시스템 )

* Udemy의 PythonBootcamp 수업 내용을 참고하여 작성 오늘은 프로그램을 확장하거나 자동화 하기 위해, 파일을 읽고 기록하는 방법들을 배우도록 한다. 파일을 커스터마이즈해서 대량으로 발송하거나 활용하는 방법, 일을 자동화하는 방법 등의 원리이다. 뱀 게임의 점수 기록판 개발하기  뱀 게임을 이미 구현한 바 있었는데, 오늘은 뱀게임을 더 발전시켜서, 뱀게임의 점수들이 기록되고 전체 기록을 보면서 유저가 더 잘 플레이하도록 하는 기능을 만들어볼 것이다. 외부 파일 및 디렉토리를 활용한다.기본 뱀 게임의 설명 및 구현 코드는 아래 포스팅 참고 : https://ysryuu.tistory.com/46 [Python] 5. 뱀 게임 만들기 (1)* Udemy의 PythonBootcamp 수업 내용을..

Dev 2024.05.10

[Python] 10. 파이썬 파일 시스템 (feat. 읽기, 쓰기, 경로)

파이썬에서 파일을 활용하므로써 프로그래밍을 유용하게 업그레이드 시킬 수 있다.오늘은 파이썬에서 활용할 수 있는 파일 시스템의 기본을 배워보도록 한다.파이썬에서 파일을 읽고 쓰기 1. 파이썬에서 텍스트 파일 열고 읽기 : open 파이썬에서 텍스트 파일을 열고 읽을 수 있다. 아래처럼 open함수에 파일 경로를 적어주고, file.read() 함수를 이용하면 간단하게 내용을 확인 가능하다.리소스 차지를 줄이기 위해서 파일을 열고 확인하고 나면 close 함수로 파일을 닫아주어야 한다.file = open('/filepath/my_file.txt')content = file.read()print(content)file.close() 2. 파일을 열고 자동으로 닫기 : with open with open을 쓰..

Dev 2024.05.10