반응형
derivative_br_51

51. ddx10x\frac{d}{dx}10^x

ddx10x=10xln(10) \begin{aligned} &\frac{d}{dx}10^x\\ &=10^xln(10) \end{aligned}

y=ax,lny=xlna(1/y)dy=(lna)dxdy/dx=ylna=axlnaor10x=eln10x \begin{aligned} &y=a^x, lny=xlna \\ &(1/y)dy=(lna)dx \\ &dy/dx=ylna=a^xlna \\ or\\ &10^x=e^{ln10^x} \end{aligned}


52. ddxcubert(x+(lnx)2)\frac{d}{dx}cubert(x+(lnx)^2)

ddxx+(lnx)23=ddx(x+(lnx)2)1/3=13(x+(lnx)2)2/3(1+2ln(x)1x)=13(x+(lnx)2)2/3(1+2lnxx) \begin{aligned} &\frac{d}{dx}\sqrt[3]{x+(lnx)^2}\\ &=\frac{d}{dx}(x+(lnx)^2)^{1/3}=\frac{1}{3}(x+(lnx)^2)^{-2/3}(1+2ln(x)\frac{1}{x})\\ &=\frac{1}{3(x+(lnx)^2)^{2/3}}(1+\frac{2lnx}{x}) \end{aligned}


53. ddxx3/42x1/4\frac{d}{dx}x^{3/4} – 2x^{1/4}

ddxx3/42x1/4=34x1/412x3/4=3x3/44x2x1/44x=3x432x44x \begin{aligned} &\frac{d}{dx}x^{3/4} – 2x^{1/4}\\ &=\frac{3}{4}x^{-1/4}-\frac{1}{2}x^{-3/4}\\ &=\frac{3x^{3/4}}{4x}-\frac{2x^{1/4}}{4x}\\ &=\frac{3\sqrt[4]x^3-2\sqrt[4]x}{4x} \end{aligned}


54. ddxlog2(x1+x2)\frac{d}{dx}log_2 (x \sqrt{1+x^2})

ddxlog2(x1+x2)((d/dx)logax=1xlna)=1+x2+x2x21+x2x1+x2ln2=1+2x2x(1+x2)ln2 \begin{aligned} &\frac{d}{dx}log_2 (x \sqrt{1+x^2})\\ &((d/dx) log_ax=\frac{1}{xlna})\\ &=\frac{\sqrt{1+x^2}+x\frac{2x}{2\sqrt{1+x^2}}}{x\sqrt{1+x^2}ln2}\\ &=\frac{1+2x^2}{x(1+x^2)ln2} \end{aligned}


55. ddx(x1)/(x2x+1)\frac{d}{dx}(x-1)/(x^2-x+1)

ddxx1x2x+1=x2x+1(x1)(2x1)(x2x+1)2=x2x+1(2x23x+1)(x2x+1)2=x2+2x(x2x+1)2 \begin{aligned} &\frac{d}{dx} \frac{x-1}{x^2-x+1}\\ &=\frac{x^2-x+1-(x-1)(2x-1)}{(x^2-x+1)^2}\\ &=\frac{x^2-x+1-(2x^2-3x+1)}{(x^2-x+1)^2}\\ &=\frac{-x^2+2x}{(x^2-x+1)^2} \end{aligned}


56. ddx13cos3xcosx\frac{d}{dx}\frac{1}{3} cos^3x – cosx

ddx13cos3xcosx=133cos2x(sinx)+sinx=sinx(1cos2x)=sin3x \begin{aligned} &\frac{d}{dx} \frac{1}{3}cos^3x – cosx\\ &=\frac{1}{3}3cos^2x(-sinx)+sinx\\ &=sinx(1-cos^2x)=sin^3x \end{aligned}


57. ddxexcosx\frac{d}{dx}e^{xcosx}

ddxexcosx=excosx(cosxxsinx) \begin{aligned} &\frac{d}{dx}e^{xcosx}=e^{xcosx}(cosx-xsinx)\\ \end{aligned}


58. ddx(xx)(x+x)\frac{d}{dx}(x-\sqrt{x})(x+\sqrt{x})

ddx(xx)(x+x)=ddxx2x=2x1 \begin{aligned} &\frac{d}{dx}(x-\sqrt{x})(x+\sqrt{x})=\frac{d}{dx}x^2-x\\ &=2x-1 \end{aligned}


59. ddxarccot(1x)\frac{d}{dx}arccot(\frac{1}{x})

ddxarccot(1x)y=arccot1x,1x=coty,x2dx=csc2ydyR.T.,angle=y,o=x,a=1,h=x2+1dydx=x2csc2y=1x21+x2x2=11+x2(=ddxarctan(x)) \begin{aligned} &\frac{d}{dx}arccot(\frac 1 x)\\ & y=arccot \frac 1 x, \frac 1 x=cot y, -x^{-2}dx=-csc^2ydy\\ & R.T., angle=y, o=x, a=1, h=\sqrt{x^2+1} \\ & \frac {dy}{dx}=\frac {x^{-2}}{csc^2 y}=\frac{1}{x^2\frac{1+x^2}{x^2}}=\frac{1}{1+x^2} \\ &(=\frac{d}{dx}arctan(x)) \end{aligned}
Alt.
ddxarccot(x)=11+x2ddxarccot(1/x)=11+1/x2(1/x2)=1x2+1 \frac{d}{dx} arccot(x)=-\frac{1}{1+x^2}\\ \frac{d}{dx} arccot(1/x)=-\frac{1}{1+1/x^2}(-1/x^2)\\ =\frac{1}{x^2+1}


60. ddx(x)(arctanx)ln(x2+1)\frac{d}{dx}(x)(arctanx) – ln(\sqrt{x^2+1})

ddx(x)(arctanx)ln(x2+1)=arctanx+x11+x21x2+112x2+12x=arctanx+x1+x2x1+x2=arctanx \begin{aligned} &\frac{d}{dx}(x)(arctanx) – ln(\sqrt{x^2+1})\\ &=arctanx+x\frac{1}{1+x^2}-\frac{1}{\sqrt{x^2+1}}\frac{1}{2\sqrt{x^2+1}}2x\\ &=arctanx+\frac{x}{1+x^2}-\frac{x}{1+x^2}\\ &=arctan x \end{aligned}



Author: crazyj7@gmail.com

'Math' 카테고리의 다른 글

derivative100 [71-80]  (0) 2019.11.27
derivative100 [61-70]  (0) 2019.11.19
D operator  (0) 2019.11.07
derivative100 [41-50]  (1) 2019.11.06
derivative100 [31-40]  (0) 2019.11.05
반응형
CustomEarlyStop

Custom EarlyStopping

EarlyStop 클래스는 학습을 조기 종료시킬 때 사용한다. 학습을 무조건 많이 시킨다고 성능이 좋아지는 것은 아니다. 오히려 과적합이 발생하여 실제 테스트 데이터에 적용시 성능이 떨어질 수 있다.
따라서 어느정도가 적합한지를 자동으로 측정하는 역할을 한다.

EarlyStopping

keras.callbacks.EarlyStopping(monitor='val_loss', min_delta=0, patience=0, 
verbose=0, mode='auto', baseline=None, restore_best_weights=False)

Arguments

  • monitor : 모니터링 대상. loss, val_loss, score, val_score, val_f1_score 등 메트릭 정보를 입력한다.
  • min_delta : 최소 감지 변화량을 의미한다. 이 값보다 적은 변화는 변화(개선)가 없다고 인식한다.
  • patience : 인내할 횟수. monitor 값의 변화 감지가 개선되는 쪽으로 patience 횟수만큼 연속으로 없을 경우, 학습을 Stop하게 된다. 예를 들어 loss가 1.0이었는데, 10번 연속으로 1.0 이하로 떨어지지 않으면 학습을 중지한다. (patience=10일때) 성능은 매 epoch마다 항상 좋아지지 않고 약간 들쭉날쭉하면서 좋아지는 경향들이 있다. 이 값이 너무 커지면 학습을 너무 오래할 수 있고, 너무 작으면 너무 일찍 학습이 종료될 수 있다.
    따라서 Checkpoint와 함께 사용하여 best 상태를 항상 기록하도록 설정하는 것이 좋다.
  • baseline : monitor 값이 도달할 기본값. baseline을 넘어 개선이 이루어 지지 않으면 학습을 중지한다. (이 파라미터는 잘 안쓴다.)
  • restore_best_weights: monitor 값의 최상치일때의 weights들로 복원한다.

Custom EarlyStopping

위 EarlyStopping을 좀 수정하여 처음 100 에폭은 무조건 학습하고, 100에폭이 넘으면 그 때부터 EarlyStopping을 사용하고 싶을 때 아래와 같이 만들 수 있다.
(StackOverflow 참고)

class CustomStopper(keras.callbacks.EarlyStopping):
    def __init__(self, monitor='val_loss',
                 min_delta=0, patience=0, verbose=0, 
                 mode='auto', start_epoch = 100): # add argument for starting epoch
                super(CustomStopper, self).__init__()
                self.start_epoch = start_epoch
                
    def on_epoch_end(self, epoch, logs=None):
            if epoch > self.start_epoch:
                    super().on_epoch_end(epoch, logs)

Author: crazyj7@gmail.com

반응형
hotkey_eclipse

HotKey Eclipse

  • 이클립스 단축키는 변경가능하여 가장 좋은 것은 설정에서 단축키를 찾는 것이 가장 정확하다.
    OS별로 다를 수 있음에 유의한다. Window , Mac , Linux 등.
    windows-preferences에서 Key로 검색
    Keys 화면내에서 검색하여 찾기
    예를 들면)
    comment : 주석관련
    find : 검색관련 , 다음 검색 등
    assist : 코드Assist (많이 찾는 Content Assist) 구조체 필드 확인, 메소드 목록 확인 등.
    import : 자동 import관련

빠르게 단축키를 보려면 ^+Shift+L 한 번 더 누르면 단축키 설정창을 띄운다. 다른 것 다 필요없고 이것만 기억해도 된다.

생각안나면 Ctrl+Shift+L 이것만 기억하자!!

+이클립스
-동일한 파일을 2개 창으로 보기
ctrl+{ ; 좌우로 보기 (ctrl+shift+{)
ctrl+_ ; 상하로 보기

-파일2개를 창2개로 보기
추가로 열 파일을 탭에서 드래그하여 원하는 윈도우 박스 위치에 놓는다.

컨쉽+O ; auto import
컨쉽+T ; 클래스 찾기
컨쉽+위/아래 ; 메소드 이동(위, 아래)
컨쉽+스페이스 ; 파라미터 보기
컨쉽+F ; 자동 코드 들여쓰기 정리. form feed.
컨+O ; 현재소스내에서 메소드나 필드로 이동 ; method
컨+T ; class tree보기/이동 상속관계 ; tree
컨+K ; 찾는 문자열 블록선택후, 연속으로 찾기. 반대방향은 쉽 추가.
컨+D ; delete line
컨+I ; auto indent (one line)

  • 가장 필요한 단축키.
    Code Assit
    추적
    돌아가기
    실행
    이전 커서위치로 이동.
    소스를 추적하여 쫒아가다가 다시 돌아갈 때 필요!!!

+요약
@+방향키 ; 이전 커서 위치로 이동!!! 소스추적하다가 되돌아갈때 필수!
^+Space ; 코드 파라미터 보기 (sysout 자동풀기) 리눅스에서는 @+/
^H ; 전체 검색
^K ; 다음 찾기. 이전찾기 ^+SHIFT+K
F3 or ^클릭 ; 추적 go to definition
^+F11 ; 실행
^F6 ; 이전 에디터창(소스).
^Q ; 소스 마지막 수정위치로 이동
^+SHIFT+/ ; 블록 주석처리
^+ / ; 주석처리
^+SHIFT+F ; 코드 정리

+이클립스(MAC)
(@대신Com)+방향키 ; 이전 커서 위치로 이동
(Com추가)+^+Space ; 코드 파라미터 보기
F3 or ^+클릭 ; 추적
(FN추가)+^+F11 ; 실행
^F6 ; 이전 에디터창(소스).
^Q ; 소스 마지막 수정위치로 이동
^H ; 전체 검색
^K ; 다음 찾기. 이전찾기 ^+SHIFT+K

단축키가 안먹는다면 다른 프로그램 단축키와 충돌이 났거나 다를 수 있어서 다른 단축키로 바꿔보자.
언제든 설정에서 원하는 단축키를 지정할 수 있고, 현재 단축키 설정도 확인 가능하니 처음에는 꼭 확인하는 것을 권장한다.

Author: crazyj7@gmail.com

'Develop > Java' 카테고리의 다른 글

gradle2 API server  (1) 2021.11.13
gradle1 기초  (0) 2021.11.13
Short URL(단축URL) API  (1) 2019.11.07
[JavaScript] 스탑와치 밀리초/StopWatch milliseconds  (0) 2019.08.27
Java RSA 간단한 비대칭키 암호 서명 검증 테스트  (0) 2019.08.14

+ Recent posts