{ AI }

  • 客户端码农学习ML —— 全连接神经网络识别手写图片Mnist

    |

    由来

    在初步学习了线性回归算法、逻辑回归分类算法并练习后,终于学习到了神经网络(Neural Network)。

    神经网络是模仿生物大脑中的神经网络设计而成,每个神经元接受外部刺激,进行一点处理,输出到下个神经元,众多神经元合作完成了对外部刺激的反应,并输出行动指令。

    每个神经元都可以被认为是一个处理单元,它含有许多输入/树突 (input/Dendrite),并且有一个输出/轴突(output/Axon)。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。

    ai_nn_sheng_shenjing

    神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型。这些神经元采纳一些特征作为输入,并且根据本身的模型提供一个输出。下图是一个以逻辑回归模型作为神经元的示例,在神经网络中,参数又可被成为权重(weight),输出节点会有一个激活函数g(z)改变其线性关系为非线性关系。

    常见激活函数有:Sigmoid、ReLU、Tanh及其变种。

    ai_nn_sheng_shenjing_unit

  • 客户端码农学习ML —— 分类评估(准确率_精确率和召回率_ROC和曲线下面积)

    |

    判断各种机器学习方法训练而成的模型输出结果的好坏,需要一些评估方法,本文简单介绍二分类算法的几种评估方法,做个总结。

    首先需要有一些基本概念:对于样本来说,通常有两种类型,一种是正类别、一种是负类别,正负类别本身没有褒义贬义的含义,纯粹为了区分二分类两种不同情况。

    如“有没有狼的问题”,可以认为狼来了是正类别,没有狼是负类别;再比如“肿瘤是恶性还是良性”,恶性可以作为正类型,良性作为负类别。

    对于模型的预测,可以用2x2混淆矩阵来总结,该矩阵描述了所有可能出现的结果,共4种,以肿瘤问题为例:

  • 客户端码农学习ML —— 欠拟合_过拟合_正则化

    |

    在机器学习的训练中,欠拟合、过拟合是个绕不过去的问题,本文则试验下这两种现象,并对过拟合问题尝试使用正则化来避免,同时为了加快训练速度,对特征进行了缩放,使多个特征的值大小范围处于同一个量级,体验了一把特征缩放对训练速度的影响。

  • 客户端码农学习ML —— 逻辑回归分类算法

    |

    分类问题

    在线性回归中,预测的是连续值,而在分类问题中,预测的是离散值,预测的结果是特征属于哪个类别以及概率,比如是否垃圾邮件、肿瘤是良性还是恶性、根据花瓣大小判断哪种花,一般从最简单的二元分类开始,通常将一种类别表示为1,另一种类别表示为0。

    如下图,分别是几种不同的分类样式:

    ai_logistic_sample_3_kind

  • 客户端码农学习ML —— 使用LinearRegressor实现线性回归

    |

    最近看了Google官方机器学习教程,跟着练习了部分示例,其中《使用 TensorFlow 的起始步骤》采用了LinearRegressor配合Pandas来进行线性回归训练。

    于是使用两者重新写了一个版本的线性回归训练,数据也从之前python直接生成模拟数据改成了从csv文件读取,而csv文件来源于Excel: A列的100行等于1至100的序列, B=A*5+50+RANDBETWEEN(-10, 10)。

  • 客户端码农学习ML —— 用TensorFlow实现线性回归算法

    |

    线性回归(Linear Regression)

    线性回归算法是机器学习、统计分析中重要的算法之一,也是常用的相对简单的算法。

    微信小游戏跳一跳某辅助程序wechat jump game,之前要事先根据屏幕尺寸填写一个按压时间与弹跳距离的比例经验值并不断人为调整,后来可通过此算法拟合按压时间与弹跳距离了, Pull Request在此

    给定由d个属性描述的点集X=(x1;x2;…;xd), 线性模型试图学得一个通过属性的线性组合来进行预测的函数,即ƒ(x)=w1x1 + w2x2 + … + wdxd + b,知道w和b后就能确定模型。

  • 客户端码农学习ML —— 工具框架Tensorflow及Android、iOS上初步实验

    |

    与其上来就学习相对枯燥易让人放弃的数学,不如先做几个例子并在Android、iOS上初步实验熟悉下整个操作流程,通过实战激发下兴趣。

    开发环境准备

    首先安装Python,推荐Python3,装好后别忘了设置下载源镜像,不然安装各种包的时候下载速度很感人。

    新建文件:~/.pip/pip.conf

    1
    2
    3
    4
    5
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    use-mirrors = true
    mirrors = https://pypi.tuna.tsinghua.edu.cn/simple

    再安装Numpy、SciPy、Pandas、Matplotlib、Pil、TensorFlow 、scikit-learn等库,都是深度学习不可缺少的。

  • 客户端码农学习ML —— 整体了解

    |

    ML(Machine Learning 机器学习)

    简介:

    AlphaGo人机大战吸引了众多人的关注,也引来的一波AI热,不光很多公司进行了大量投入,连政府也相当重视,作为客户端码农自然要与时俱进下,经过一段时间学习与试验,稍有了解,写篇文章总结下。

    首先要搞清楚当下3个热门词语: 人工智能(AI)、机器学习(ML)和深度学习(DL)的区别和联系。理解三者之间关系最简便方法就是将它们看作一组同心圆:最大的部分是人工智能,然后是后来兴旺的机器学习,最后是促使当下人工智能大爆发的深度学习。