机器学习中的一个尝试——“机器创造”

说明

笔者个人博客网站:https://hk-shao.github.io/
最新文章和更新都会在这里

从识别数字开始

MNIST文件中包含了几万个手写数字的灰度图片,这些图片尺寸是28x28,灰度值为[0, 256)。
机器学习有两个入门的“Hello World”,除了做散点图的回归直线外,就是识别手写数字,这个过程一般涉及三个神经网络层,输入层(28x28 = 784个神经元),隐藏层(神经元个数按需决定),输出层(10个神经元,代表10个可能的数字)。

所以将模型建好后,训练模型,优化所有的神经元权重和偏移,使得残差平方的平均值loss降到最低。得到的模型后,将含有784个数值的矩阵X(也就是手写的数字图片)输入到模型中,经过一层层神经元,最后映射到一个含有10个数值的矩阵Y(也就是 Y = f(X) ),这个矩阵有10个数值,每个数值代表相应数字的概率。

我们选取概率最大的那个,这样就实现了输入一张手写数字图片,输出这张图片上所写的数字。经过百万次训练,这个准确率可以达到95%以上。

创造数字?

因为笔者刚刚接触机器学习,技术还很水,GAN什么的还搞不懂,于是单纯的想创造个模型,输入[0, 9]之间的数字,输出一张“手写数字图片”。如果 x, y, z 分别表示像素横坐标,像素纵坐标和数字[0, 9],通过一个复杂的函数 f , 映射到像素灰度值y [0, 256), 也就是 y = f(x, y, z)。

我把函数设计的很简单:

g ( x , y , z ) = [ a 1 a 2 a 3 ] [ x y z ] + b 1 g(x, y, z) = \left[ \begin{matrix} a_{1} & a_{2} & a_{3} \end{matrix} \right] \left[ \begin{matrix} x \\ y \\ z \end{matrix} \right] + b_{1} g(x,y,z)=[a1a2a3]xy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值