主要讲了一下numpy包和一些概念,比较简单
入门学习
基本知识
Python
- 循环
# 生成[0~10的列表]
list(range(0,10))
# 生成[0,3,6,9]的列表, (start,end,step)
list(range(0,10,3))
- 创建数组
import numpy as np
x = np.array([1.0,2.0,3.0])
y = np.array([4.0,5.0,6.0])
# 创建一个多维数组,注意外层的[]
X = np.array([[51,55],[14,19],[0,4] ])
- 计算
print(x+y)
print(x-y)
print(x*y)
- 点积(np.dot)
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1,2])
# 1*2的矩阵
y= np.array([[1,3,5],[2,4,6]])
# 2*3的矩阵
z = np.dot(x,y)
print(z)
感知机
- 接受多个信号,输出一个信号。信号的量只有0/1,当输入信号的总和大于某个阈值时,称该神经元被激活。而且每个传递的信号可能会被乘上某个固定的权重 。用以下公式代表
与门感知机
import numpy as np
def AND(x1,x2):
x = np.array([x1, x2])
w = np.array([0.5, 0.5])
b = -0.7
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
- 局限性
- 感知机的局限性在于它智能表示 一条直线分割的恐惧,不能表示一条曲线。由曲线分割的称为 非线性空间,由 直线分割的称为 线性空间
- 可以使用 叠加层数的感知机来进行非线性的表示