728x90
from langchain_core.prompts import (
    ChatPromptTemplate,
    SystemMessagePromptTemplate,
    HumanMessagePromptTemplate,
    AIMessagePromptTemplate,
    ErrorMessagePromptTemplate,
    WarningMessagePromptTemplate,
    InformativeMessagePromptTemplate
)

chat_prompt = ChatPromptTemplate.from_messages(
    [
        # 시스템 메시지: 시스템의 기능이나 상태를 설명
        SystemMessagePromptTemplate.from_template("이 시스템은 천문학 질문에 답변할 수 있습니다."),
        
        # 사용자 메시지: 사용자가 입력한 질문이나 요청
        HumanMessagePromptTemplate.from_template("{user_input}"),
        
        # AI 응답 메시지: 고정된 응답을 지정
        AIMessagePromptTemplate.from_template("태양계에서 가장 큰 행성은 목성입니다."),
        
        # 오류 메시지: 시스템 오류가 발생했을 때
        ErrorMessagePromptTemplate.from_template("오류가 발생했습니다. 다시 시도해 주세요."),
        
        # 경고 메시지: 잘못된 입력이나 경고를 표시
        WarningMessagePromptTemplate.from_template("경고: 잘못된 입력입니다."),
        
        # 정보 메시지: 사용자가 알아야 할 추가 정보 제공
        InformativeMessagePromptTemplate.from_template("추가 정보: 천문학과 관련된 최신 연구 결과는 다음 사이트를 참고하세요."),
    ]
)

messages = chat_prompt.format_messages(user_input="태양계에서 가장 큰 행성은 무엇인가요?")
print(messages)
728x90
728x90

https://www.promptingguide.ai/kr

 

프롬프트 엔지니어링 가이드 – Nextra

A Comprehensive Overview of Prompt Engineering

www.promptingguide.ai

 

0. LLM 하이퍼파라미터

temperature - 값이 낮을수록 항상 가장 확률이 높은 토큰(말뭉치의 최소 단위)이 선택되기 때문에 더 결정론적인 결과

top_p - 정확하고 사실적인 답변을 원한다면 이를 낮게 유지

=> 둘 중 하나만 변경

 

Max Length - max length를 조정하여 모델이 생성하는 토큰의 수를 관리

Stop Sequences - 모델의 토큰 생성을 중지하는 문자열

Frequency Penalty가 높을수록 단어가 다시 등장할 가능성이 줄어듦

Presence Penalty - 응답에서 구문을 너무 자주 반복하는 것을 방지, 다양하거나 창의적인 텍스트를 생성하기 위해 더 높은 presence penalty를 사용

 

권장사항: temperature와 top_p를 모두 변경하지는 X, frequency penalty와 presence penalty를 모두 변경하지는 X


1. 예시를 추가하는 few-shot prompting

2. 프롬프트의 구성

프롬프트 엔지니어링: 모델에게 작업을 수행하도록 지시하기 위해 최적의 프롬프트를 설계하는 이러한 접근 방식

- 지시(Instruction): 모델이 수행할 특정 작업 또는 지시
 시작 부분에 지시 사항을 명시
 '###'과 같이 명확한 구분 기호를 사용하여 명령어와 지시 사항을 구분
 지시와 작업을 구체적으로 설명

- 문맥: 더 나은 응답을 위해 모델을 조종할 수 있는 외부 정보나 추가 문맥
- 입력 데이터: 응답받고자 하는 입력이나 질문
- 출력 지시자 - 출력의 유형이나 형식

 

3. 프롬프트 구성 팁


불필요한 세부 사항을 많이 포함하는 것이 반드시 좋은 접근 방법은 아닙니다
구체적이고 직접적이어야. (매우 구체적이고 간결하며 정곡을 찌르는.)
'하지 말아야 할 것'보다는 '해야 하는 것'에 초점을 두는 것

 

3-1. 추론 태스크는 특히 CoT. 해결방법을 단계별로 간결하게 제시.


주어진 수 중에서 홀수를 모두 더해서 짝수를 만들어 줘: 15, 32, 5, 13, 82, 7, 1.
문제를 단계별로 해결해 봐. 먼저 주어진 수 중 홀수를 찾아낸 뒤, 그것들을 합해서, 결과가 홀수인지 짝수인지 판별해 줘.

 

4. CoT

- 중간 추론 단계를 통해 복잡한 추론을 가능하게 함!!
-  충분히 큰 대규모언어모델에서만 발생

- 답변 생성 시 모델이 해설을 단계별로 함께 생성하도록 지시함.

예시
Prompt:
나는 시장에 가서 사과 10개를 샀어. 나는 사과 2개를 이웃에게 주고, 2개를 수리공에게 주었어. 그리고 사과 5개를 더 사서 1개는 내가 먹었어. 사과가 몇 개나 남았니?
단계별로 생각해 보자.

Output:
먼저 사과 10개로 시작했어.
이웃에게 2개, 수리공에게 2개를 나누어 주었으므로 사과가 6개가 남았어.
그런 다음 사과 5개를 더 사서 이제 사과가 11개가 되었어.
마지막으로 사과 1개를 먹었으므로 사과 10개가 남게 돼.

 

4-1. Auto-CoT

"단계별로 생각해보자(Step by Step)"라는 프롬프트가 있는 대규모언어모델 -> 데모를 위한 추론 사슬을 하나씩 생성함으로써 수작업을 없애는 접근 방식

1단계): 질문 클러스터링(question clustering): 주어진 데이터 세트의 질문을 몇 개의 클러스터로 분할합니다.
2단계): 데모 샘플링(demonstration sampling): 각 클러스터에서 대표 질문을 선택하고 간단한 휴리스틱과 함께 제로샷 생각의 사슬(Zero-Shot-CoT)를 사용해 추론 체인을 생성합니다.

 

https://www.promptingguide.ai/kr/techniques/cot


 

728x90

728x90

가설검증 Hypothesis Testing

가설검증(Hypothesis Testing): 주어진 데이터가 어떤 가설을 지지하는지 또는 반박하는지를 판단하는 과정
 
**

통계학에서 **검정**과 **검증**은 비슷해 보이지만 다른 의미를 가지고 있습니다.

1. **검정 (Hypothesis Testing)**:
   - 검정은 특정 가설이 통계적으로 유의미한지 여부를 판단하는 과정입니다. 
   - 예를 들어, 두 집단의 평균이 동일한지 검정하는 t-검정이나, 분산이 같은지 검정하는 F-검정 등이 있습니다.
   - 검정의 결과로 귀무가설(보통 "차이가 없다"는 가설)을 기각할지 여부를 결정합니다. 검정의 핵심은 데이터로부터 얻은 증거가 가설을 지지할 만큼 충분한지 평가하는 것입니다.

2. **검증 (Verification)**:
   - 검증은 어떤 모델이나 시스템, 방법론이 제대로 작동하는지 확인하는 과정입니다.
   - 이는 실험이나 관찰을 통해 주어진 조건 하에서 이론적 주장이나 방법이 실제로 일치하는지를 점검하는 것입니다.
   - 예를 들어, 통계 모델을 만들었을 때, 그 모델이 실제 데이터를 잘 설명하는지를 검증합니다.

정리하자면, **검정**은 주어진 가설이 데이터에 의해 지지되는지를 평가하는 과정이고, **검증**은 이론이나 모델이 제대로 작동하는지를 확인하는 과정입니다.


두 가지 가설을 세우고, 

  • 귀무가설(Null Hypothesis, 𝐻0): 일반적으로 기존의 믿음이나 가정, 또는 차이가 없음을 주장하는 가설임.
  • 대립가설(Alternative Hypothesis, 𝐻1): 귀무가설과 반대되는 주장으로, 차이나 효과가 있음을 주장하는 가설임.

통계적 방법을 통해 이들 가설을 검증하는 방식


가설검증=검정의 단계

가설검증은 다음과 같은 단계로 이루어짐

  1. 가설 설정:
    • 귀무가설 (𝐻0): 데이터에 차이가 없다고 주장함
    • 대립가설 (𝐻1): 데이터에 차이가 있다고 주장함
  2. 유의수준 설정 (𝛼):
    • 일반적으로 0.05나 0.01 같은 값
    • 귀무가설이 참일 때, 잘못 기각할 확률 (False Positive이 확률)
  3. 검정 통계량 계산:
    • 데이터를 기반으로 검정 통계량을 계산함.
    • 이 통계량은 보통 표준정규분포(Z-검정), t-분포(t-검정) 등 여러 가지 방법이 있음.
  4. p-값 계산:
    • 검정 통계량주어진 분포에서 어느 정도의 극단적인 값을 갖는지를 계산함.
    • p-값: 귀무가설(영가설)이 참일 때, 검정 통계량이 현재 관측된 값보다 극단적인 값을 가질 확률임.
  5. 결정:
    • p-값을 유의수준 (𝛼)와 비교
    • if p값 <  𝛼, 귀무가설을 기각하고 대립가설을 채택 (실험 결과 P값이 작아야 실험 가정이 유의하다)
    • p-값이 𝛼보다 크면, 귀무가설을 기각하지 않음

 


예시

예제: 평균 비교

두 집단의 평균이 같은지 비교 -> 신약이 기존 약보다 효과가 있는지를 검증한다고 가정

  1. 가설 설정:
    • 𝐻0: 두 집단의 평균이 같음 (𝜇1=𝜇2)
    • 𝐻1: 두 집단의 평균이 다름 (𝜇1≠𝜇2)
  2. 유의수준 설정:
    • 𝛼=0.05
  3. 검정 통계량 계산:
    • t-검정을 사용해 두 집단의 평균 차이를 검정
  4. p-값 계산:
    • 계산된 t-값에 대응하는 p-값을 찾음
  5. 결정:
    • p-값이 0.05보다 작으면, 귀무가설을 기각하고 신약이 기존 약과 효과가 다르다고 결론지음.

유형별 가설검증

가설검증에는 여러 유형이 있음:

  • Z-검정: 표본 크기가 크고, 모분산이 알려진 경우
  • t-검정: 표본 크기가 작고, 모분산이 알려지지 않은 경우
  • 카이제곱검정: 범주형 데이터의 독립성이나 적합성 검정에 사용
  • F-검정: 두 집단의 분산 비교에 사용

가설검증의 오류

가설검증에서는 두 가지 주요 오류가 발생할 수 있음:

  • 제1종 오류 (Type I Error): 귀무가설이 참인데 기각하는 오류 (유의수준 𝛼)
    • False Positive
    • 예시: 암 진단 검사에서 실제로 암이 없는데도 검사가 암이 있다고 잘못 진단하는 경우
    • 유의수준 (𝛼): 제1종 오류가 발생할 확률. 연구자가 설정하는 값으로, 보통 0.05 (5%)나 0.01 (1%) 같은 값을 사용
      • 의미: 라면, 귀무가설이 참일 때 5%의 확률로 귀무가설을 잘못 기각할 수 있다
  • 제2종 오류 (Type II Error): 귀무가설이 거짓인데 기각하지 않는 오류 (베타 𝛽)
    • False Negative
    • 예시: 암 진단 검사에서 실제로 암이 있는데도 검사가 암이 없다고 잘못 진단하는 경우
    • 베타 (𝛽): 제2종 오류가 발생할 확률. 유의수준과 달리 보통 명시적으로 설정되지 않고 계산을 통해 결정
      • 검정력 (Power): 1 - 𝛽를 검정력이라고 함. 실제로 대립가설이 참일 때 이를 올바르게 기각할 확률
      • 검정력이 높을수록 좋은 검사.

 


제1종 오류와 제2종 오류 Trade-off

𝛼를 낮추면 제1종 오류의 확률은 줄어들지만, 𝛽는 증가해서 제2종 오류의 확률이 커질 수 있음
vice versa

오류 조절 방법

  • 유의수준 (𝛼) 조정: 보통 연구자는 𝛼α를 0.05나 0.01로 설정하지만, 문제의 심각성에 따라 더 낮추거나 높일 수 있음.
  • 표본 크기 증가: 표본 크기를 늘리면 검정력이 높아져서 제2종 오류의 확률을 줄일 수 있음. 이는 더 많은 데이터를 수집함으로써 오류를 줄이는 방법임.
  • 효과 크기 증가: 효과 크기가 클수록 검정력이 높아져서 제2종 오류의 확률이 줄어듦. 연구 설계를 통해 더 뚜렷한 차이를 만들 수 있는 방법을 고려할 수 있음.

 

* P_err = Total probablility of error of a binary hypothesis test
 
 
 
*일부 gpt를 활용하여 작성함

728x90
728x90

Bias 은 예측값과 정답의 차이 정도, Variance 은 예측값끼리의 차이 정도
과소적합(Underfitting): High bias
과적합(Overfitting): High variance
 
MSE = Bias + Variance
Bias-Variance Tradeoff!

 

 


https://towardsdatascience.com/understanding-the-bias-variance-tradeoff-165e6942b229?gi=3507c8a8e592

Understanding the Bias-Variance Tradeoff

Whenever we discuss model prediction, it’s important to understand prediction errors (bias and variance). There is a tradeoff between a…

towardsdatascience.com


https://velog.io/@iguv/Bias-and-Variance#:~:text=Bias%20%EC%9D%80%20%EC%98%88%EC%B8%A1%EA%B0%92%EA%B3%BC%20%EC%A0%95%EB%8B%B5%EC%9D%98%20%EC%B0%A8%EC%9D%B4%20%EC%A0%95%EB%8F%84%2C%20Variance%20%EC%9D%80,%ED%95%A9%EC%9D%80%20High%20variance%20%EC%9D%B4%EB%8B%A4.
https://modulabs-biomedical.github.io/Bias_vs_Variance

728x90
728x90

1. MGF(Moment Generating Function)

Q. Binomial Distribution의 MGF가 무엇인가?

 

Q1. MGF가 뭔데

 

Moment: 랜덤변수의 분포를 나타내는 주요 정보 .. E[X^n]으로 표현

1차 Moment = E[X^1] → 평균

2차 Moment = E[X^2] → 1차와 조합하여 분산 표현

3차 Moment = E[X^3] ...

Moment 정보들이 더 많을수록 랜덤변수를 구체적으로 이해할 수 있게 됨

 

그러면 분포마다 Moment가 있다는 건데.

Moment는 어떻게 알 수 있을까?

Moment를 생성하는 함수가 따로 있음. 그게 MGF임! ㅎㅎ

 

 

어떤 RV X에 대하여

가 정의되는 t가 존재하는 경우 

Mx(t) = X의 moment generating function (실제 입력변수는 t, 어차피 t=0만 입력하긴 함)

 

을 통해 Mx(t)가 정의된다.

단순히 E[e^(tX)]를 적분 형태로 풀어쓴 후 양변 미분해버리면 저런 꼴이 나옴

랜덤변수 X에 대해, t=0 입력할 때 n번째의 moment가 생성되는 구조,,

 

Q2. MGF에 대한 추가 성질

(1)

 

proof

 

(2)

 

(3)

서로 독립적인 포아송분포의 RV / 가우시안분포 RV

들의 합으로 이루어진 새로운 RV

-> 마찬가지로 포아송분포 / 가우시안분포를 따름

 

그 proof를 MGF를 가지고 해버리네

 

여러 RVs가 exponential 분포 따르면서 + iid관계이면 => 그 RVs의 합은 어랑분포를 따름

 

 


 

- 새로운 MGF가 나타났을 때 각 moment들을 계산할 줄 알아야 하고

- 새로운 분포에 대해 그것의 MGF를 구할 줄 알아야 함

 

Q. Binomial Distribution의 MGF가 무엇인가?

 

https://elementary-physics.tistory.com/135

 

 

 

2. Binomial Theorem

https://en.wikipedia.org/wiki/Binomial_theorem

 

진짜로 그러하다

 

 

3. Central Limit Theorem은 다음 기회에 ..😊

 


https://elementary-physics.tistory.com/135

 

[통계학] 2.3 분산, 모멘트 생성 함수 Variance, Moment Generating Functions

랜덤 변수의 분포를 나타내는 지표로서 평균은 랜덤 변수의 대표적인 값을 의미한다. 이에 더해, 랜덤 변수가 대표값으로부터 얼마나 떨어져 있냐는 것도 중요한 지표가 된다. 이러한 역할을 해

elementary-physics.tistory.com

 

728x90

728x90

 

 

correlation: 두 RV의 '선형적 상관관계'가 있느냐

 

uncorrelated: 두 RV의 '선형적 상관관계'가 없다

if cov(X,Y) = E[(X-E(X))*(Y-E(Y))] = r(X,Y) - E(X)*E(Y) = 0

→ uncorrelated

 

만약 E(X) or E(Y) 중 하나가 0이면 correlation coefficient r == cov(X,Y)가 되어

orthogonal과 uncorrelated가 가리키는 바가 일치하게 됨.

else, 둘은 엄밀히 다른 개념.

 

orthogonal: 두 RV를 벡터로 표현할 때 둘은 직교한다 = 선형적 상관관계가 없다

if correlation coefficient = r(X,Y) = E[XY] = 0

→ orthogonal

 

 

↔️

independent: 두 RV는 어떠한 방식으로도 서로 영향을 주지 않는다

두 RV의 marginal 확률분포를 각각 구해서 둘을 곱한 것이: joint 확률분포와 일치하여야 함

E[g(X)*h(Y)] = E[g(X)]*E[h(Y)]

E[XY] = E[X]*E[Y]를 만족함

자동으로 Cov(X,Y) = 0이어서 uncorrelated임.

 

independent이면 uncorrelated이지만, 역은 성립하지 않는다

 

 


 

주요 공식

 

covariance = E[XY] - E[X]*E[Y] (cov=0이면 uncorrelated)

correlation = E[XY]

correlation coefficient = cov(X,Y) / 표편(X)*표편(Y) = E[(X의 편차)*(Y의 편차)] = E[(X-x평균)*(Y-y평균)]

 

 

아니 그러면 correlation이랑 corelation coefficient는 각기 다른 거니?


 

https://blog.naver.com/chaero-/223234599551

 

#21 결합 모멘트 (Joint moments), uncorrelated, orthogonal [랜덤 프로세스]

결합 모멘트 (joint moments) 그 외 variance의 성질 이전에 상관계수와 공분산에 대해서 다뤘던 적이 있기...

blog.naver.com

https://jaejunyoo.blogspot.com/2018/08/what-is-relationship-between-orthogonal.html

 

What is the relationship between orthogonal, correlation and independence?

Machine learning and research topics explained in beginner graduate's terms. 초짜 대학원생의 쉽게 풀어 설명하는 머신러닝

jaejunyoo.blogspot.com

 

728x90
728x90

http://www.ktword.co.kr/test/view/view.php?no=3757

 

wikipedia

 

 

 

sin(arccos x ) = root(1-x**2)

란다... ☺️

 


 

⭐️⭐️⭐️⭐️

 

https://blog.naver.com/spin898/221153015870

 

 

https://blog.naver.com/spin898/221153015870

 

함수의 평균

위 이미지는 2017년 한 음주 산업 간행물 Drinks International에서 1위로 선정된 ‘Old Fashioned’이...

blog.naver.com

 

http://www.ktword.co.kr/test/view/view.php?no=3757

 

삼각 함수

1. 삼각 함수 (Trigonometric Function) 이란? ㅇ [ 함수 관점 : `比의 함수` ] - 삼각형의 각과 변의 길이를 대응시킨 `比의 함수` . 실수 또는 라디안 각도에 의해, 그 변의 길이 비율 값(차원 없는 수)으로

www.ktword.co.kr

https://www.youtube.com/watch?app=desktop&v=VXhHMGgsJUg

 

728x90

+ Recent posts