[Deep learning] Gradient Descent Optimizer

이미지
https://icim.nims.re.kr/post/easyMath/70 알기 쉬운 산업수학 알기 쉬운 산업수학 Gradient Descent Optimizer 2017년 12월 13일(수) | 김민중 URL  (1) 주어진 목적함수  f f 의 최솟값(minimum)을 찾아가는 알고리즘으로 다음과 같은 방식으로 최솟값을 찾아간다. 초기값  x 0 x 0 을 임의로 설정, 적당한 Learning rate  α α  설정 n ≥ 0 n ≥ 0 인 정수에 대해서  x n + 1 x n + 1 은 다음과 같이 정의한다. x n + 1 : = x n − α ⋅ ∇ f ( x n ) x n + 1 := x n − α ⋅ ∇ f ( x n ) 주의사항 함수 f f 의 모양이 convex가 아닌 경우 global minimum이 아닌 local minimum으로  x n x n 이 수렴할 가능성이 있다. Learning rate  α α  값이 큰 경우 최솟값으로  x n x n 이 수렴하는 것이 아니라 발산할 수 있다. Learning rate  α α  값이 작은 경우 수렴하는 속도가 지나치게 느릴 수 있다. 방정식  2 ⋅ x = 10 2 ⋅ x = 10  의 근을 Gradient Descent를 이용해서 찾아보자. 목적함수  f ( x ) : = ( 10 − 2 x ) 2 f ( x ) := ( 10 − 2 x ) 2 으로 설정하겠다( f f 의 최솟값인 0이 되게 하는  x x 값이 우리가 원하는 방정식의 근이다). 초기값  x 0 = 0 x 0 = 0 , Learning rate  α = 0.05 α = 0.05 으로 설정 f ′ ( x ) = 4 ( 2 x − 10 ) f ′ ( x ) = 4 ( 2 x − 10 )...

How to add AdMob banner view with objective-c

This post is about guide adding admob banner.

<Reference >
1. Firebase Banner ad guide
2. Firebase ad events
3. Stackoverflow link


<Solution>
1. Header (.h)

#import <UIKit/UIKit.h>
#import "GADBannerViewDelegate.h"

@class GADBannerView, GADRequest;

@interface AdTestViewController : UIViewController
    <GADBannerViewDelegate> {
    GADBannerView *bannerView_;
}

@property (nonatomic, retain) GADBannerView *bannerView;

- (GADRequest *)createRequest;

@end

2, Implementation file (.mm)

#import "AdTestViewController.h"
#import "Constants.h"
#import "GADBannerView.h"
#import "GADRequest.h"

@implementation AdTestViewController

@synthesize bannerView = bannerView_;

- (void)viewDidLoad {
    [super viewDidLoad];

    // Create a view of the standard size at the top of the screen.
    // Available AdSize constants are explained in GADAdSize.h.
    //bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
    // Initialize the banner at the bottom of the screen.
    //CGPoint origin = CGPointMake(0.0,
     //                            self.view.frame.size.height -
       //                          CGSizeFromGADAdSize(kGADAdSizeBanner).height);
    self.bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
                                                    //origin:origin];

    self.bannerView.adUnitID = kAdMobPublisherID;
    self.bannerView.delegate = self;
    [self.bannerView setRootViewController:self];
    [self.view addSubview:self.bannerView];
    self.bannerView.center =
    CGPointMake(self.view.center.x, self.bannerView.center.y);
    [bannerView_ loadRequest:[self createRequest]];

    bannerView_.backgroundColor = [UIColor blueColor];


    // Make the request for a test ad. Put in an identifier for
    // the simulator as well as any devices you want to receive test ads.
    GADRequest *request = [GADRequest request];
    request.testDevices = [NSArray arrayWithObjects:
                           @"4D047EB9-A3A7-441E-989E-C5437F05DB04",
                           @"YOUR_DEVICE_IDENTIFIER",
                           nil];

}

- (GADRequest *)createRequest {
    GADRequest *request = [GADRequest request];

    // Make the request for a test ad. Put in an identifier for the simulator as
    // well as any devices you want to receive test ads.
    request.testDevices = [NSArray arrayWithObjects:
                           @"4D047EB9-A3A7-441E-989E-C5437F05DB04",
                           @"YOUR_DEVICE_IDENTIFIER",
                           nil];
    return request;
}

- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error;
{
    NSLog(@"Error - did Fail to Receive an Ad");
    bannerView_.hidden = YES;

}

- (void)adViewDidReceiveAd:(GADBannerView *)view;
{
    NSLog(@"Ad Received");
    bannerView_.hidden = NO;
}

@end


댓글

이 블로그의 인기 게시물

@import' when modules are disabled

MagicaVoxel black screen

[Anaconda][Opencv][Spyder] How to install opencv to anaconda (spyder).