昨天我们手撕深度学习算法讲坛开始,第一节内容是关于SVM算法(手撕深度学习算法开讲:先简单撕撕SVM )
我总结了大家提的问题:
A.第一节课SVM太短了,才十分钟:
老师回答:这个只是概括讲解一下。SVM 的部份,我們會再找個時間拍完整的手撕式,时长会是12小时
B.SVM处理大规模数据,如果我们分类效果不好,加入海量训练脚本,能有显著提升吗?会不会加入海量训练脚本只能少量提升?还是应该用更多的精力提取更多有用特征?
老师回答:加入海量訓練樣本都能夠提升分類的精度,前提是訓練的資料特徵必須為有效數據。 我們要提升SVM訓練精度有幾種做法: 1.當你的特徵是有效的訓練特徵,可以加入海量資料來讓精度提升 2.當你有足量的資料且1/-1的資料量相差不會太多,可提取更多的有效特徵來提升精度 3.調整既有參數,例如:Kernel方法、懲罰函數、訓練迭代 至於實際上要怎麼選擇調整精度的做法,還是需要看現實的資料特徵及狀況來選定優先調整哪些。
C.已知SVM算法是收敛的,那么证明收敛的方法有哪些?怎么证明收敛性?怎么计算(推导)收敛速度?
老师回答:SVM使用QP(quadratic programming)來解出全域最佳解,因為QP方式是採用二次規劃的方式找出所有特徵中最佳的結果,但是意味著效能消耗十分龐大。之後會介紹SMO(Sequential Minimal Optimization)的效能優化算法,它是採用類似梯度下降的方式來修正權重,不一樣的是由於一些限制,因此他是採兩個特徵來修正,而收斂條件有: 1.所有特徵均符合KKT條件 2.權重W的變動率小於自設定的閥值(一般約0.001) 3.設置最大迭代數,到達最大迭代數即停止. 計算收斂速度的部份 (跑多久才會收斂),我們會再想想。
老师们对于大家的互动也觉得蛮好的!
关于CNN
Convolutional Neural Networks卷积神经网络
卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。
CNNs是受早期的延时神经网络(TDNN)的影响。延时神经网络通过在时间维度上共享权值降低学习复杂度,适用于语音和时间序列信号的处理。
CNNs是第一个真正成功训练多层网络结构的学习算法。它利用空间关系减少需要学习的参数数目以提高一般前向BP算法的训练性能。CNNs作为一个深度学习架构提出是为了最小化数据的预处理要求。在CNN中,图像的一小部分(局部感受区域)作为层级结构的最低层的输入,信息再依次传输到不同的层,每层通过一个数字滤波器去获得观测数据的最显著的特征。这个方法能够获取对平移、缩放和旋转不变的观测数据的显著特征,因为图像的局部感受区域允许神经元或者处理单元可以访问到最基础的特征,例如定向边缘或者角点。
CNN概讲