深度学习是机器学习的一个激动人心的分支,它利用大数据教会机器人类才能够做的事情。
我个人对机器学习非常感兴趣,这是一门让人激动的学科。
机器学习包括识别图像(人脸识别之类),理解人们在手机上的通话(语音识别),以及帮助机器人探索世界并与之互动。
今年来深度学习作为解决机器感知问题的主要工具,日渐流行,它是所有涉及计算机视觉和语音识别问题的最先进的工具。
不止于此,人们逐渐发现深度学习可以帮助人们更好的解决其他问题,比如发现新药物,理解自然语言(NLP),理解文档,比如排序以便进行搜索。
我以后写的代码全部都是使用TensorFlow进行书写。
1.比如一个简单的集合让我们看到怎么样可以检测一张图片中怎么查看如果我能够碰到前面的人的可能性:
A typical method is to run a binary classifier over different areas of an image, and mark the areas with a positive label as detected instances.
很简单 就是把图片进行切割,对每个物体进行标框,看是否能够找到相应的解决方案。
2.如何使用深度学习进行搜索排序,如何把我们需要的关键词放在前面。
使分类器接收成对的搜索请求和网站。
逻辑回归分类器:
逻辑回归分类器是一种线性的回归分类器,它接收输入例如图片的像素,对输入执行的一个函数来生成预测。
线性函数实际上就是巨大的矩阵相乘。
Softmax模型:
Note: 你的 softmax(x)
函数应该返回一个形状和x
相同的NumPy array类型。
例如,当输入为一个列表或者一维矩阵(用列向量表示一个样本样本)时,比如说以下的:
scores = [1.0, 2.0, 3.0]
应该返回一个同样长度(即3个元素)的一维矩阵:
print softmax(scores)
[ 0.09003057 0.24472847 0.66524096]
对于一个二维矩阵,如以下(列向量表示单个样本),例如:
scores = np.array([[1, 2, 3, 6],
[2, 4, 5, 6],
[3, 8, 7, 6]])
该函数应该返回一个同样大小(3,4)
的二维矩阵,如以下:
[[ 0.09003057 0.00242826 0.01587624 0.33333333]
[ 0.24472847 0.01794253 0.11731043 0.33333333]
[ 0.66524096 0.97962921 0.86681333 0.33333333]]
每个样本(列向量)中的概率加起来应当等于 1。
"""Softmax."""
scores = [3.0, 1.0, 0.2]
import numpy as np
def softmax(x):
"""Compute softmax values for each sets of scores in x."""
pass # TODO: Compute and return softmax(x)
print(softmax(scores))
# Plot softmax curves
import matplotlib.pyplot as plt
x = np.arange(-2.0, 6.0, 0.1)
scores = np.vstack([x, np.ones_like(x), 0.2 * np.ones_like(x)])
plt.plot(x, softmax(scores).T, linewidth=2)
plt.show()