Color schemes generator based on machine learning
sudo npm install -g grunt-cli
npm install
grunt build
grunt watch
sudo npm install -g coffee-script
npm test
See also http://zh.wikipedia.org/wiki/HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4
Section: HSL与HSV的比较
事实上, 似乎喜欢和讨厌的机制是很不一样的, 所以他们应该被丢到两个堆中去。
如果直接用单个score输出,正确率非常低,只有三十几。 如果用 [喜欢,不喜欢,一般] 输出,大概61% 如果用 [喜欢, 不喜欢],大概68-69%
https://github.com/zenozeng/cocolour/issues/77
可能是数据过拟合了,调整 iterations 和 errorThresh 看看会不会有帮助。
Copyright (C) 2014-2015 Zeno Zeng
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
This program incorporates work covered by the following copyright and permission notices:
jQuery
Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
Released under the MIT license
color-convert
Copyright (c) 2011 Heather Arthur [email protected]
Released under the MIT license
colors-clustering
Copyright (c) 2014 Zeno Zeng
Released under the MIT license
gene-pool
Copyright (c) 2014 Zeno Zeng
Released under the MIT license
brain
Copyright (c) 2010 Heather Arthur
Released under the MIT license
add ANN.prototype.toJSON
add ANN.fromJSON
模拟的举证里增加 math.var(distance, 'biased')
数据增加到 1441 组
将不同人的数据分离进行验证
Switch to convnetjs
Try SVM layer and switch back to softmax
Add min distance
UI 细节调整、加载速度优化
现在切分训练数据与验证数据时会保持 positive 和 negative 的比例
网站 UI 的进一步重构
代码组织方式调整、重构
一些前端小调整
重写神经网络预测率测试
基于 cluster 模块,使用 process 的 message 通信
输出测试结果的 max, min, mean, median 和 var
调整 iterations 和 errorThresh 来避免过拟合问题
平均预测率基本可以到 71%
而且现在输出结果不再发生大幅度波动了
移除色相、亮度、饱和度方差
输出讨厌和喜欢各自的预测率
尝试给估价函数增加一个 bias
bias = 0.38
(positive - bias) * 1 / bias
对喜欢的平均预测率现在可达 93%,虽然对讨厌的平均预测率现在降到了 39%,综合判断率下降
网站 UI 调整
确定神经网络库的选择为 Brain
确定输入格式为一个 HSL 矩阵的 flatten: H1 S1 L1 H2 S2 L2 H3 S3 L3 H4 S4 L4 H5 S5 L5
一次概念验证性测试
Length: 164
Match Cound: 106
Unmatch Cound: 58
Rate(%): 64.63414634146342
确定输出格式
似乎喜欢和讨厌的机制是很不一样的, 所以他们应该被丢到两个堆中去。
如果直接用单个score输出,正确率非常低,只有30%-40% 如果用 [喜欢,不喜欢,一般] 输出,大概60-61%, 以及一般这一档的数据非常少,不怎么可靠。 如果用 [喜欢, 不喜欢],大概60-68%
增加数据到 813 组
数据分组成 train 和 verify 组的时候引入随机性
https://github.com/zenozeng/cocolour/issues/81
这个 Issue 会导致之前的测定结果存在一定的偏差
增加数据到 1378 组
调整 learningRate 到 0.1
似乎结果的稳定性提升了一些、正确率也提升了一些
基于 master-slave 的多进程结果验证
充分利用多核性能
尝试引入色相方差、饱和度方差、明度方差
调整学习速率到 0.05
Fix bugs in UI
Script for fetching all color schemes in database
500+ more color schemes
Normalize colors
引入 AVOS Cloud SDK
user.signup, user.login, user.logout & user.passwordReset
DB: Class Scheme
ACL for Scheme
Log heart and trash
神经网络库的选择讨论
界面增加动画
尝试引入遗传算法,以便在更短时间获得更好结果
构建遗传算法库
Move static/font-awesome to cdn.staticfile.org
各家 Baas 服务商的比较,打算使用 avoscloud
遗传算法可视化
引入遗传算法 ([email protected])
Go back using CoffeeScript
update header, fixes #41
聚类算法可视化 (D3)
About whether to use DBaaS or Baas
Consider using Genetic Algorithms
Consider using Web Worker
New Arch Design (ClojureScript for Pure Calculation & CoffeeScript for UI and Communication)
关于应用容器化的构想,及相关服务提供商的比较
Linode + Ubuntu + Docker / DigitalOcean + Ubuntu + Docker / Stackdock / Tutum
Simple JSON based user system
Simple loging system for replaying requests later
New name: cocolour
New domain: cocolour.com
Deploy on Github Pages
Move clustering/ to new repo: zenozeng/colors-clustering
Use seeds from CSS Color Module Level 3
Use CIEDE2000 for calc color difference
Add RGBA Support for Colors Clustering
Switch to CIE76 for perfermence
Add nodejs support for colors-clustering
Npm publish zenozeng/colors-clustering
Rewrite cocolour using zenozeng/colors-clustering
New UI for cocolour
Use Grunt as task runner
UI for 1920 * 1080
New Repo: cocolour-server
基于 K-Means 算法以及 HSL 色彩空间实现基本色彩聚类
Init UI (based on HTML5 drag & drop API)
基本调研
初始化项目
服务器基本部署
色彩聚类代码初步