包括研究项目和开发的APP。(更新ing)
研究项目合集
自由探索——面向分类的感知驱动的可视化监督降维方法
成绩:
自由探索项目,预计4月-5月投稿TVCG。(负责人)
背景:有标签的高维数据
大数据时代,涌现出无数复杂的有标签的高维数据:如手写数据、汽车数据、人脸数据等。
困难:难以分析标签HD数据
降维是分析有标签的高维数据的常用方法。
高维数据的低维表示可以帮助用户探索有标签数据中类的分离程度和数据的空间分布。
非监督降维方法PCA:没有考虑类的分离程度;
监督降维方法LDA:事先假设数据符合高斯分布,对于复杂的类结构无效;
感知驱动降维PDD:单个投影可能会导致重要的类结构被忽略。
方法:
本文提出了一种感知驱动的线性降维方法,寻求生成具有最大视觉分离程度、最少数量的最优二维投影集合。
困难1:发现单个视图降维方法的不足
一开始构建单个视图,发现类别多的时候无法构建
目标函数:为了最大化非线性目标函数dDSC。优化方法:使用模拟退火算法,通过比较随机生成的投影结果的costFuction,找出全局最优值。得到最优的投影结果展示分类数据。
发现:真实数据中可能存在很多类,如服装数据包括:睡衣、风衣、内衣等各种内容。
技术:
D3是Data-Driven Document的缩写,从字面上理解就是数据驱动文本。
基于 kNN Graph的内蕴特征抽取可视分析
背景
高维数据(High-Dimensional Data),是指向每个数据有多个属性的数据。现实世界中的高维数据中的样本点,往往是分布在一个或者多个低维度的非线性的流形结构之中,如何找出隐藏在高维数据中的低维结构与特征是目前我们所面临的问题。
特征抽取是获取数据特征的重要方式。分为线性和非线性方式,线性提取方式是简单的原始维度线性组合,用户根据自己的喜好选择正向负向的点;非线性为点选绘制自由曲线,产生一个贴合用户认知的非线性模型的内蕴特征轴。
选取点对、选取点序列、画自由曲线等三种指定内蕴轴的交互式方法
例子
图 5-3(a)表示了全球生活质量形状趋势(图中箭头方向),按照其趋势绘制自由曲线,将在散点图中得到新的坐标轴,图 5-3(b)显示了直方图和河流图。
趋势:在图中可看出从左到右,正向的指数降低,如购买力指数(蓝色),安全指数(浅蓝色),和医疗指数(橙色),而负向指数增加,如交通通勤时间指数(浅绿色)和污染指数(红色),随着X 轴增加,国家生活质量下降,该轴代表了生活质量下降的趋势。
异常:卢旺达,购买力低,然而,安全与卫生保健较高,印证了它是非洲排名第一的国家,政府效率高的信息。委内瑞拉购买力低远远低于其他国家,发现其正面临经济危机的。
有 698 个图像和 4096 个维度,每个维度都表示为一个像素值。为了方便可视化,数据预处理,使用 PCA 将维数减少到 35 维。
节点-链接布局呈现了一个圈的形状(图 5-4(a))。用户想知道圆圈的方向是否为全局模式。于是,他沿着圆的方向画了一条自由的线,但是发现有脸部姿势和光线的两个变化,同时他注意到交互绘制的草图的中心部分只呈现出左右姿势变换。他决定探索这个圈的主要部分。首先,他沿着第一个主要方向画了草图 (在图(a)的红色路径), 生成的轴显示了从左到右脸部姿势的变化(对应图 5-4(c)中的 x 轴)。接着,他沿着第 二个主要方向 (图 5-4(a)中的绿色路径)绘制了自由曲线,所构造的轴是脸部从上到 下的姿势变化(对应图(c)中的 y 轴)。最后,他沿着其余部分绘制自由曲线(图(a)),改方向表征了光线由暗到明的变化。
高维数据中的低维结构的可视探索
成绩:
并推荐可视化顶级刊 TVCG。非学生一作,负责user study和对比试验。
问题:
高维数据集中往往含有不同结构的低维结构,当未知数据集中的低维结构与当前的可视化方法的假设不匹配时,可视化结果将难以理解。
解决:
可视分析方法帮助用户有效地识别低维结构及关键特征,为进一步分析提供关键结构信息。
方法:
t-SNE初步提供初始聚类信息:当我们想对高维数据集进行分类,但又不清楚这个数据集有没有很好的可分性(同类之间间隔小、异类之间间隔大)时,可以通过t-SNE将数据投影到2维或3维空间中观察一下:如果在低维空间中具有可分性,则数据是可分的;如果在低维空间中不可分,则可能是因为数据集本身不可分,或者数据集中的数据不适合投影到低维空间。
局部切空间-测地距离视图用来发现子空间
2个滚石图拐点为子空间维度
考勤管理系统
成绩:
中南大学学报审稿中,EI期刊。负责需求设计:
主页面:
细节视图:
成员当日考勤部分:
个人多日考勤细节以及交互:
考勤统计视图:
APP项目合集
编码工具: Xcode 10.1,Swift 4.2,UIKit
设计工具:Adobe Inllustrator, 设计icon , 生成icon
第三工具:移动端火热数据库 Realm,天气API等
思路来源:平时喜欢在APP store里面下载一些独立开发者的APP。这些APP部分思路来自于优秀的APP(如羡辙-2019字体日历、素记 等),部分是自己生活需要的简单小功能。
代码方面:大部分使用了Storyboard,UI设计需要;纯手写代码在 每日一个swift小程序内
开源项目:暂未整理完成
上架中:
Project : Todos 极简事项
需求分析:
iOS原生风格的极简的日程管理工具。
现在大部分的Todo工具:UI设计趋向于小清新、可爱动画等多元设计;功能为可以记录时间、地点、时间重要程度等信息,这样对于提高了增加任务的时间、精力成本。
本APP主打的就是:界面使用iOS原生峰哥,功能就是随时想到、随时记录。
功能:用户可以对待办事项输入、修改、删除、修改顺序操作,可以标记已经完成任务。
举例一个使用场景:午餐时想到了一个idea直接打开APP记录、午睡后想到这个idea的实现可直接修改,晚上实现该功能后直接打钩,第二天测试人员告知该idea可行时删除任务。
技术:
- 数据存储:先学习了userDefault,再改为时下火热的移动端数据库Realm存储数据
- TableView
Project : Weather 元气天气
需求分析:
让用户查看当地天气、查询异地天气的时看到正能量文字,元气满满的开始新的一天。
技术:
- 页面传值
- 第三方库管理器
Project 3 : Quizzler 奇怪问答
需求分析:
该问答APP可以修改为任意主题的答题APP。目前想法是改为数据结构基础知识的APP,因为我自己可以用该APP为了实习面试而刷题。
技术:
- SVM模式
- 题库存储:realm移动端数据库
Project 4 : Piano 木琴
按下不同的按键,发出不同的音调。
Project 3 : Dicee 麻将骰子模拟器
技术:
Project 2 : Magic 8 Ball 问答魔力球
Project 1 : 计时器
技术:
- SnapKit:项目的自动布局
- Timer 计时器:fire()与invalidate()
- guard语句:guard 判断合理条件,保证判断条件简约。详见 guard详解