关灯
护眼
第199章 大功告成
上一章 书架 目录 存书签 下一章
    不过,在跑代码之前,还要对数据进行预处理。

    江寒先从报名信息表中,将性别信息仍然“健在”的行挑出来,只保留序号、姓名和性别,另存为。

    这些记录一共9527条,大约占三万多条数据总数的30。

    它们对应着9527张真彩色照片。

    24位真彩色的图片,每个像素点在内存里,要占用3个字节的存储单元。

    每张照片有210x120个像素,这样读入一张照片,需要的内存空间就是210x120x375600个byte。

    9527条数据,共需要9527x75600720241200b686.88.7g

    这个内存开销,还是比较容易接受的。

    但是,“感知机”的算法,需要进行大量浮点乘法运算。

    对每个像素的每个rgb分量都算一遍

    没那个必要,也太浪费时间。

    所以,聪明的做法,是先把照片数据“压缩”一下。

    江寒给“感知机”的代码,添加了一个loaddata函数,用来读取和处理照片数据。

    在这个函数里,先定义一个二维的整形数组feature。

    然后从中读出序号、姓名信息,按照刚才建立的索引表,找到对应的照片文件。

    下一步,将照片读取到内存中,读取的同时,将每个像素二值化。

    具体做法是:色彩浓度在阈值以上的像素,取值为1,低于阈值就让它为0。

    这样一来,原本的真彩色照片,就被转换成了黑白轮廓图。

    然后,再将轮廓图中的0或者1的取值,按照从左到右、从上到下的顺序,重新编排成一行数据,存放到数组feature中。

    feature中的每一行,都存储了一张照片的二值化信息。

    一共9027张照片,就需要9027行。

    全部照片处理完毕后,就得到了一个巨大的二维数组feature。

    它有25200列、9027行

    接下来,定义一个拥有9027个整形元素的一维数bel。

    从中读入性别信息,男生设为1,女生设为0,存放在数bel中。

    feature加上对应bel,就构成了训练数据集。

    训练“感知机”时,将一行行feature代入公式中,进行加权和运算,其结果再通过sign函数,转换为0或1,然后和对应bel值对照。

    如果不相符,就调整权重和偏置,然后重新计算。

    当每一个feature代入公式后,都能计算出正确bel时,就得到了一组权重和偏置。

    也就是说,构建出了一个可用的数学模型。

    依据这个模型,计算机就可以读入任何一张同尺寸、类型的照片,对其二值化的数据代入模型中运算,并根据运算结果判断分类归属。

    这就是典型的机器学习过程,计算机从数据中自己“学”到了某种规律。

    即使这种规律,人类并不一定完全理解,也不见得能用数学语言解释清楚

    剩下的就比较简单了。

    接下来,江寒又添加了几个函数,用来输出运算结果、观察运行情况等。

    最后,从头调试了一遍,确认没啥bug后,将代码重新编译,然后运行了起来。

    屏幕上有一些数字,表示当前正在处理的数据,和训练进度的百分比。

    十分钟后,后一个数字才刚刚达到1.3。

    这表示,完整训练一遍,大约需要13个小时

    之所以这么慢,主要是江寒的程序,比较追求稳定性,以及调试的方便、快捷,并没特别讲究执行效率。

    当然,即使他用心优化,估计也需要8个小时以上,才能完成训练。

    虽然有点慢,但其实没什么关系,训练过程并不需要人工干预,挂机等着就行。

    第二天早晨,江寒起床后,先看了下训练进度,还差了大约13才能完成,就先去班级上课。

    中午吃完饭回来,训练终于结束了。

    而存放权重和偏置参数的weight数组,也以内存映像的方式,保存在了一个二进制文件中。

    接下来就简单了。

    重建一个一模一样的感知机模型,加载上这个权重文件,就可以用它来判断剩余照片的性别了。

    江寒重新改写代码,然后运行。

    这次十分迅速,只用了不到20分钟,就将两万一千来张照片,全部处理完毕。

    这就是“感知机”,或者说“人工神经网络”的特点。

    训练起来特别耗时,一旦训练完成,工作起来非常快捷。

    至于正确率,江寒初步估计,大大超过99,21000条未经训练的数据里,判断出错的,绝不超过10人。

    比人类肉眼的识别率低不到哪里去。

    事实上,“感知机”或者说“人工神经网络”的错误率,跟训练数据、测试数据的质量有很大关系。

    如果比较规范,达到100的识别率都不算稀奇。

    可惜实际运用中,总有个别实例,奇葩得超乎想象。

    有的时候,人类都几乎无法识别

    根据老高的说法,这区区几个错误的,可以在把名单下达到各校后,根据反馈修改一下就行。

    如果没有这个托底,就没法使用“感知机”,因为没办法判断,哪些人被误分类了

    得到了全部照片的性别数据后,江寒将其粘贴到了报名信息表中。

    大功告成后,江寒没急着找高老师复命。

    这么快就搞定,老高肯定会十分震惊,然后追问前因后果。

    “感知机”解释起来太费劲,而且也没那么高大上,还用不着见人就推销。

    关键老高一个人贡献的那点震惊值,江寒现在已经有点看不上眼了。

    休息了一会儿后,江寒就拿着noip通关宝典,回班级继续刷题。

    “杠上开”是一个营销号主。

    什么是营销号

    百科上说,一般是指组织机构或者个人对外宣传散发信息所用的账号,具有目的性,一般是用来宣传产品或服务的。

    狭义上说,就是纯粹以赚钱为目的,专门在各大视频站上传垃圾内容的人。

    内容粗制滥造那是基本操作;

    虚假宣传和科普那是日常作业;

    动不动危言耸听、各种震惊这根本就不算事儿。

    没事儿当当水军,引导引导舆论,才是他们的主要业务。

    反正很多事情,很多人既不了解,也不具备判别能力,还不是哪边人多信哪边

    你说网友们义愤填膺

    上面都不管,网友算老几,钱到手才是真的。

    为什么网站不整治

    一个是很难区分,容易误伤正常的up主;

    再一个,网站跟流量什么仇、什么怨

    “杠上开”就是这样一个营销号,每天出没于各个视频站,p站算是他最重要的基本盘。

    他最常做的,就是接受客户的委托,然后不择手段地完成任务。

    视频网站给的那点补贴,他根本没放在眼里,客户的赏金才是大头。

    今天,他做完“作业”,上传完几个视频,然后随便在p站逛了一会儿。

    忽然,一个点击、投币超高的视频,跃入了眼帘。

    本月热门

    “杠上开”来了点兴趣。

    仔细一看标题,顿时有点无语。

    旧光驱改造写字机器人真够夸张的,你怎么不改造成航母呢

    不过,好奇之下,他还是点开了视频,看了一眼。

    结果,一看之下,他瞬间就惊呆了。

    卧槽,还真是个高手,这动手能力有点逆天了。

    本着一个营销号的职业精神,“杠上开”感到了一种久违的使命感。

    必须做点什么。

    没错,这么有创意的视频,不盗上一把,他简直浑身蓝瘦

    不过,简单的重发是不行的,网站的审核员职位,也不是白设置的。

    所以,还需要用点技巧,稍微加工、处理一下


目录 存书签 上一章 下一章
随便看看: 暴君枭宠妖妃重生八零幸福路头号赢家风起云涌之江湖良人在此,快来抢黑暗升华医品邪少帅气武王宠的就是你[娱乐圈]重生八零娇娇媳北境强龙杨天林雪狂暴绝杀巨星:从退役开始崛起穿回七零,全家靠手机暴富星河领主白石门替嫁萌妻,薄爷的小娇娇是大佬锦鲤:开局火神给我送空间踏雪三千步反客为主!我把丧尸咬了逃荒小奶包,全家读我心后吃香喝辣