Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (8)

Лучшие ответы пользователя

Все ответы (2)
  • Машинное обучение - с чего начинать программисту?

    korobok
    @korobok
    Специалист по машинному обучению (Python)
    На первых порах нужно следующие:
    • Умение работы с матрицами. Это их сложение и умножение. Понимание что такое диагональная, обратная и транспонированная матрица. Определители, базы и т.д. в начале не нужны. Мой совет - взять задачник по линейной алгебре и решить примеров 10 по этим темам.
    • Понимание что такое производная на уровне "тангенс угла наклона касательной в точке". Неплохо было бы понять что такое градиент, так как половина обучающих алгоритмов на нем основано.
    • Из теории вероятности полезны основные понятия, а также совместная и условные вероятности. Ну и знать что такое формула Байеса.
    • Ну и статистика. Это распределения (самое важное - это понять что такое распределение Гаусса), знание что такое математическое ожидание, дисперсия (или стандартное отклонение) ну и понимание что такое плотность распределения вероятности.


    По линейной алгебре и производным могу посоветовать "Вся высшая математика Том I - Краснов М., Киселев А., Макаренко Г., Шакин Е., Заляпин В". Но там много лишнего для начинающего.
    По статистике и теории вероятности могу посоветовать "элементарный курс теории вероятностей и математической статистики - А. Бородин" до 100-й страницы будет достаточно.
    Мой совет - это не зарываться в учебники в начале. Можно нарыть неплохое статьи по этим темам на хабреи там почитать. В идеале лучше всего паралелльно изучать теорию и практику.
    В некоторых книгах по ML все эти темы затрагиваются. Могу посоветовать Python Machine Learning (Sebastian Raschka). А если есть проблемы с английским языком - Построение систем машинноrо обучения на языке Python - Луис Педро Коэльо, Вилли Ричарт.
    Ответ написан
    3 комментария
  • Как сделать запуск анимации по событию WPF?

    korobok
    @korobok
    Специалист по машинному обучению (Python)
    Самый простой способ - это вынести анимацию в ресурс. К сожалению, MouseLeftButtonUp обрабатывается самим TexBox'ом поэтому пользоваться им не получится. Можно использовать PreviewMouseLeftButtonDown.
    <Window.Resources>
            <PathGeometry x:Key="pathUsernameRU">
                <PathFigure StartPoint="0,45">
                    <PolyLineSegment Points="0,10"></PolyLineSegment>
                </PathFigure>
            </PathGeometry>
            <PathGeometry x:Key="pathUsernameEN">
                <PathFigure StartPoint="0,45">
                    <PolyLineSegment Points="0,70"></PolyLineSegment>
                </PathFigure>
            </PathGeometry>
            <Storyboard x:Key="Storyboard">
            	<DoubleAnimation Storyboard.TargetName="textBlock1" Storyboard.TargetProperty="Opacity" 
    				From="0" To="1"  Duration="0:0:0.2"></DoubleAnimation>
    			<DoubleAnimationUsingPath Storyboard.TargetName="textBlock1" Storyboard.TargetProperty="(Canvas.Top)" 
    				PathGeometry="{StaticResource pathUsernameEN}" Duration="0:0:0.2" Source="Y"/>
            	<DoubleAnimation Storyboard.TargetName="textBlock" Storyboard.TargetProperty="Opacity" From="0" To="1" 
    				Duration="0:0:0.2" />
                <DoubleAnimationUsingPath Storyboard.TargetName="textBlock" Storyboard.TargetProperty="(Canvas.Top)" 
    				PathGeometry="{StaticResource pathUsernameRU}" Duration="0:0:0.2" Source="Y"/>
            </Storyboard>
        </Window.Resources>
        <Grid Width="300" Height="100">
            <Canvas>
                <TextBox x:Name="textBox" Canvas.Top="35" Height="30" Width="300" BorderThickness="0">
    				<TextBox.Triggers>
    					<EventTrigger RoutedEvent="PreviewMouseLeftButtonDown">
    							<BeginStoryboard Storyboard="{StaticResource Storyboard}"/>	
    					</EventTrigger>
    				</TextBox.Triggers>
    			</TextBox>
                <Rectangle Canvas.Top="60" Fill="Black" Width="300" Height="2"></Rectangle>
                <TextBlock x:Name="textBlock" Text="Username" Canvas.Top="45" Foreground="#7BBFD3" Opacity="0"/>
                <TextBlock x:Name="textBlock1" Text="Имя пользователя" Canvas.Top="45" Foreground="#7BBFD3" Opacity="0"/>
    
            </Canvas>
        </Grid>

    После этого появляется веселый эффект, когда при нажатии каждый раз вылезает подсказка. Можно от этого избавиться немного поменяв анимацию и убрав From
    <Storyboard x:Key="Storyboard">
            	<DoubleAnimation Storyboard.TargetName="textBlock1" Storyboard.TargetProperty="Opacity" 
    				 				To="1"  Duration="0:0:0.2"/>
            	<DoubleAnimation Storyboard.TargetName="textBlock" Storyboard.TargetProperty="Opacity"  
    								To="1" Duration="0:0:0.2" />
            	<DoubleAnimation Storyboard.TargetProperty="(Canvas.Top)" 
    								Storyboard.TargetName="textBlock" Duration="0:0:0.2" To="70"/>
            	<DoubleAnimation Storyboard.TargetProperty="(Canvas.Top)" 
    								Storyboard.TargetName="textBlock1" Duration="0:0:0.2" To="20"/>
    </Storyboard>

    Но чаще всего для подсказок используют ToolTip.
    Ответ написан
    1 комментарий