클래스를 상속 받을 수도 있다. 이렇게 상속을 한다. 자식클래스 extends 부모 클래스 public class Sunrin(){ String barn public void print_barn(String barn){ this.barn = barn;System.out.println(barn+"이다")}}public class Jeongbo exntends Sunrin{ public static void main(String[] args){ Jeongbo lee = new Jeongbo(); lee.print_barn("13반");}} 위 코드를 보면 Jeongbo 클래스에는 barn 변수도 없고, print_barn 메소드도 없지만 상속을 통해 Jeongbo 클래스 에서도 부모 클래스인 Sunrin의 ..
생성자를 이용해서 main 메소드가 있는 클래스에서 어떤 클래스에 접근해서 변수의 값을 바꿀 수 있다. class Sunrin{ String name; } 이런 클래스가 있다고 가정하고, main 메소드에서 lee라는 객체를 하나 생성한 후 name을 lee로 바꿔주고 싶다면 생성자를 사용하면 된다 class Sunrin{ String name;public Sunrin(){}public Sunrin(int name){ this.name = name;}} public class asd { public static void main(String[] args) { Sunrin lee = new Sunrin("name"); }} 이런 코드에서 저 위에 public Sunrin(int name){ this.nam..
class Tv { } 이렇게 Tv 클래스를 만들 수 있다. 그리고 객체를 사용해서 클래스의 멤버면수나 메소드에 접근이 가능하다. 1. 객체 참조형 변수 선언 : TV t1; // [클래스명] [참조변수명] 2. 객체 생성 : t1 = new Tv(); // new 연산자로 객체를 저장할 공간 확보 변수와 객체를 한번에 생성 가능하다 Tv t1 = new Tv(); 이렇게. 그리고 . 으로 멤버변수나 메소드에 접근이 가능하다. t1.asd =10;t1. asdf();
상수는 값이 바뀔수 없다. 그 자체가 데이터인 것. final로 정의한다. ex) final PI = 3.14; C의 #define의 역할을 한다. 배열. 배열은 참조형이다. 1. 배열 선언 : int a[]; 또는 int[] a; // 그냥 a라는 배열을 선언한 것, 참조형 변수 a가 메모리에 만들어진다. 2. 배열 생성 : a = new int[3]; // 공간을 3개를 가지는 배열이 생성되고, a에는 배열의 시작주소가 들어간다. 3. 배열 초기화 : a[0] = 11; a[1] = 22; a[2] = 33; // 이렇게 초기화함. 1 ~ 2. 배열 선언과 초기화 과정을 한 번에 할 수 있다. int a[] = new int[3]; int[] a = new int[3]; 이렇게 선언과 생성을 한번에 ..
이미 선언된 데이터 형을 다른 데이터 형으로 변환하는 것이다. 형변환에는 강제 형 변환과 자동 형 변환이 있는데, 자동 형 변환은 데이터 손실 없이 형 변환이 가능할 경우에 내부적으로 수행한다. 변수의 크기가 작은 쪽에서 큰쪽으로 형변환을 하는 것이라고 생각하면 될 듯. 변수의 크기byte(1 byte) < short(2 byte) < int , float (4 byte) < long, double(8 byte) 12345678public static void main(String[] args) { byte a = 10; int b = a; double c = a; } Colored by Color Scriptercs 위에 보면 작은 쪽에서 큰쪽으로 형 변환 할 때 내부에서 자동적으로 해주는 것을 볼 수..
12345678910111213141516171819202122232425262728import tensorflow as tf x_data = [1,2,3]y_data = [1,2,3] W = tf.Variable(tf.random_normal([1]), name = 'weight') X = tf.placeholder(tf.float32)Y = tf.placeholder(tf.float32) hypothesis = W * X cost = tf.reduce_sum(tf.square(hypothesis -Y)) learning_rate = 0.1gradient = tf.reduce_mean((W * X - Y) * X)descent = W - learning_rate * gradientupdate = W.a..
손실값을 최소화 하기 위한 최적화 알고리즘이다. 손실값을 최소화 해주는 W,b값을 찾아주는 알고리즘인데, 그래프의 기울기를 구하고, 기울기를 계속 낮춰가면서 가장 최적화된 W,b의 값을 찾아 나가는 방법이다. cost function은 평균적으로 Hypothsis에 얼마나 떨어져 있는지를 구하는 함수이다. cost function을 미분식에 대입하고미분을 하면최종적으로 위와같은 식이 나온다. 경사하강법은 국소 최적해(local minimum)의 위험이 있기 때문에 convex function을 사용한다.
일반적인 퍼셉트론으로는 XOR게이트를 구현할 수 없기 때문에 퍼셉트론으로 나온 AND, OR ,NAND 게이트를 조합하여 XOR게이트를 구현 할 수 있다. 위의 그림처럼 NAND연산, OR연산으로 나온 값을 AND연산하여 구하면 XOR연산이 된다. XOR의 진리표이다. 123456789def XOR(x1, x2): s1 = NAND(x1,x2) s2 = OR(x1,x2) y = AND(s1,s2) return y cs